
void sqlite3ExprCodeFactorable(Parse *pParse,Expr *pExpr,int target)

{
  undefined *puVar1;
  int iVar2;
  Walker w;
  
  puVar1 = PTR___stack_chk_guard_0015ba2c;
  iVar2 = *(int *)PTR___stack_chk_guard_0015ba2c;
  if (pParse->okConstFactor == '\0') {
LAB_000c042c:
    sqlite3ExprCode(pParse,pExpr,target);
  }
  else {
    w.u.pNC = (NameContext *)0x0;
    w.eCode = '\x02';
    w.xExprCallback = (_func_int_Walker_ptr_Expr_ptr *)(PTR_LAB_0015b6d8 + 0x7abc);
    w.xSelectCallback = (_func_int_Walker_ptr_Select_ptr *)(PTR_LAB_0015b65c + -0xbec);
    if (pExpr != (Expr *)0x0) {
      (*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(&w);
      if (w.eCode == '\0') goto LAB_000c042c;
    }
    (*(code *)(PTR_LAB_0015b714 + 0x1c50))(pParse,pExpr);
  }
  if (iVar2 == *(int *)puVar1) {
    return;
  }
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  return;
}



void FUN_000c03a0(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)

{
  ushort uVar1;
  bool bVar2;
  undefined *puVar3;
  int iVar4;
  short sVar13;
  undefined1 *puVar5;
  int iVar6;
  undefined4 uVar7;
  char cVar14;
  undefined4 uVar8;
  undefined4 uVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  uint uVar15;
  uint uVar16;
  undefined1 *puVar17;
  undefined1 *puVar18;
  undefined1 *puVar19;
  undefined1 *puVar20;
  undefined1 *puVar21;
  int iVar22;
  int iVar23;
  undefined1 *puVar24;
  int iVar25;
  int *piVar26;
  int *piVar27;
  int unaff_s4;
  code *unaff_s5;
  int iVar28;
  int *piVar29;
  undefined1 *unaff_s6;
  int *piVar30;
  undefined1 *unaff_s7;
  int iVar31;
  undefined *puVar32;
  code *pcVar33;
  int unaff_s8;
  int iVar34;
  code *pcVar35;
  code *pcVar36;
  int iStack_f8;
  code *pcStack_f4;
  int iStack_f0;
  int iStack_e8;
  code *pcStack_e4;
  int *piStack_e0;
  undefined4 uStack_c8;
  int iStack_c4;
  undefined1 *puStack_c0;
  undefined1 *puStack_bc;
  undefined1 *puStack_b8;
  int *piStack_b4;
  int iStack_b0;
  code *pcStack_ac;
  undefined1 *puStack_a8;
  undefined1 *puStack_a4;
  int iStack_a0;
  code *pcStack_9c;
  undefined1 *puStack_8c;
  int iStack_88;
  undefined *puStack_80;
  undefined1 *puStack_78;
  int iStack_74;
  undefined *puStack_70;
  undefined1 *puStack_6c;
  undefined1 *puStack_68;
  undefined1 auStack_30 [4];
  undefined *local_2c;
  undefined *local_28;
  char local_1c;
  undefined4 local_18;
  int local_14;
  
  puVar3 = PTR___stack_chk_guard_0015ba2c;
  local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;
  puVar17 = param_1;
  puVar20 = param_2;
  if (param_1[0x17] == '\0') {
LAB_000c042c:
    FUN_000c02d8();
  }
  else {
    local_18 = 0;
    local_1c = '\x02';
    local_2c = PTR_LAB_0015b6d8 + 0x7abc;
    local_28 = PTR_LAB_0015b65c + -0xbec;
    if ((param_2 != (undefined1 *)0x0) &&
       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;
    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();
  }
  if (local_14 == *(int *)puVar3) {
    return;
  }
  puVar32 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  puStack_80 = puVar32 + 0xa3120;
  puStack_70 = puVar3;
  piVar26 = *(int **)(puVar32 + 0x9b59c);
  iStack_74 = *piVar26;
  puVar18 = puVar17;
  puVar21 = puVar20;
  puVar24 = param_3;
  puStack_c0 = puVar3;
  puStack_b8 = param_2;
  puStack_6c = param_1;
  puStack_68 = param_2;
  if ((*(int *)(puVar20 + 0xc) == 0) &&
     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {
    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);
    *(undefined1 **)(puVar17 + 0x2c) = param_1;
    *(undefined1 **)(puVar20 + 0xc) = param_1;
    unaff_s6 = *(undefined1 **)(puVar17 + 8);
    if (unaff_s6 == (undefined1 *)0x0) {
      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();
    }
    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))
                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);
    puVar18 = unaff_s6;
    if (iVar4 == 0) {
      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);
      iStack_88 = 0;
      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);
      (*unaff_s5)(unaff_s6,0xf,param_1,0);
      puVar21 = (undefined1 *)0x14;
      iStack_88 = 0;
      puVar24 = param_1;
      param_4 = param_3;
      (*unaff_s5)();
    }
    else {
      puVar21 = (undefined1 *)0x46;
      iStack_88 = 0;
      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);
      puVar24 = puStack_78;
      param_4 = param_1;
      (*unaff_s5)();
      if (puStack_78 == (undefined1 *)0x0) {
        puVar24 = (undefined1 *)0x0;
        iStack_88 = 0;
        puVar21 = &DAT_0000000b;
        puVar18 = unaff_s6;
        param_4 = param_3;
        (*unaff_s5)();
      }
      else if (-1 < (int)puStack_78) {
        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);
        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);
        if ((int)puStack_78 < 8) {
          sVar13 = 0x1e;
          puVar5 = puVar24;
          puVar19 = puStack_78;
          if (puStack_78 == (undefined1 *)0x1) {
            sVar13 = 0;
            if (0 < (int)puVar21) {
              uVar16 = *(uint *)(puVar20 + 8);
              goto LAB_000c0614;
            }
          }
          else {
            do {
              puVar18 = (undefined1 *)((int)puVar19 << 1);
              sVar13 = sVar13 + -10;
              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;
              puVar5 = (undefined1 *)0x0;
              puVar19 = puVar18;
            } while (puVar18 < &DAT_00000008);
            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);
            puVar21 = (undefined1 *)
                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <
                            (int)puVar21);
            if (puVar21 != (undefined1 *)0x0) {
              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);
              sVar13 = 0x1e;
              while( true ) {
                puStack_78 = (undefined1 *)((int)puStack_78 << 1);
                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);
                if ((puVar24 != (undefined1 *)0x0) ||
                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))
                break;
                puVar24 = (undefined1 *)0x0;
                sVar13 = sVar13 + -10;
              }
              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);
              goto LAB_000c0604;
            }
          }
        }
        else {
          if ((int)puStack_78 < 0) {
            iVar4 = LZCOUNT(puVar24);
          }
          else {
            iVar4 = LZCOUNT(puStack_78) + 0x20;
          }
          uVar15 = 0x3c - iVar4;
          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));
          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);
          if ((uVar15 & 0x20) != 0) {
            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);
          }
          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);
          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);
          puVar18 = (undefined1 *)(uint)uVar1;
          sVar13 = (short)(uVar15 * 10) + 0x28;
          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);
          if (puVar21 != (undefined1 *)0x0) {
LAB_000c0604:
            sVar13 = (short)puVar18 + sVar13 + -10;
            uVar16 = *(uint *)(puVar20 + 8);
LAB_000c0614:
            *(short *)(puVar20 + 6) = sVar13;
            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;
          }
        }
      }
    }
    puStack_b8 = puVar17;
    unaff_s7 = param_3;
    if (*(int *)(unaff_s4 + 0x10) != 0) {
      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;
      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);
      *(int *)(puVar20 + 0x10) = unaff_s8;
      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;
      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);
      iStack_88 = 0;
      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);
      puVar21 = (undefined1 *)0x98;
      puVar18 = unaff_s6;
      puVar24 = param_1;
      param_4 = unaff_s7;
      iStack_88 = unaff_s8;
      (*unaff_s5)();
    }
  }
  if (iStack_74 == *piVar26) {
    return;
  }
  pcVar33 = *(code **)(puStack_80 + -0x7ba0);
  pcVar36 = FUN_000c082c;
  (*pcVar33)();
  piVar30 = *(int **)(pcVar33 + 0x9b200);
  iVar4 = *(int *)(puVar21 + 0x44);
  iStack_c4 = *piVar30;
  uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;
  puStack_bc = param_1;
  piStack_b4 = piVar26;
  iStack_b0 = unaff_s4;
  pcStack_ac = unaff_s5;
  puStack_a8 = unaff_s6;
  puStack_a4 = unaff_s7;
  iStack_a0 = unaff_s8;
  pcStack_9c = pcVar36;
  puStack_8c = param_4;
  if (*(char *)(iVar4 + 0xc) == 'L') {
    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))
    goto LAB_000c08b4;
    piVar26 = *(int **)(puVar18 + 8);
    if (piVar26 == (int *)0x0) {
      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);
    }
    iVar31 = *(int *)(puVar18 + 0x28);
    iVar22 = *(int *)(puVar18 + 0x2c);
    iVar23 = *(int *)(pcVar33 + 0x9aee8);
    iVar6 = iVar22 + 3;
    iVar34 = *(int *)(puVar18 + 0x38) + -2;
    *(int *)(puVar18 + 0x28) = iVar31 + 2;
    iVar25 = *(int *)(puVar18 + 0x38) + -1;
    iVar28 = iVar22 + 1;
    *(int *)(puVar18 + 0x2c) = iVar6;
    *(int *)(puVar18 + 0x38) = iVar34;
    iVar22 = iVar22 + 2;
    iVar12 = iVar31 + 1;
    uStack_c8 = 0;
    (*(code *)(iVar23 + -0x7e94))
              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,
               &uStack_c8);
    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);
    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);
    (*pcVar35)(piVar26,iVar25);
    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);
    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);
    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);
    if (*(int *)(iVar4 + 0x10) != 0) {
      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);
    }
    if (*(int *)(iVar4 + 0x14) != 0) {
      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);
      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {
        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);
        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);
        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);
      }
    }
    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {
      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);
      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);
      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);
    }
    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);
    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);
    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);
    if (0 < piVar26[0x1b]) {
      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;
    }
    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);
    iVar23 = piVar26[0x1b];
    if (0 < iVar23) {
      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;
      iVar23 = piVar26[0x1b];
    }
    if (*(char *)(iVar4 + 0xe) == 'U') {
      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);
      iVar25 = piVar26[0x1b];
    }
    else {
      iStack_e8 = 0;
      iVar25 = iVar23;
    }
    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);
    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);
    iVar10 = *(int *)(pcVar33 + 0x9aee8);
    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);
    if (*(char *)(iVar4 + 0xe) == 'W') {
      (*pcVar36)(piVar26,0xb,0,iVar23,0);
      iVar23 = piVar26[0x1b];
      if (iVar25 < 0) {
        iVar25 = iVar23 + -1;
      }
      if (*(char *)(*piVar26 + 0x51) == '\0') {
        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;
        cVar14 = *(char *)(iVar4 + 0xe);
      }
      else {
        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;
        cVar14 = *(char *)(iVar4 + 0xe);
      }
    }
    else {
      iVar12 = piVar26[0x1b];
      if (iVar25 < 0) {
        iVar25 = iVar12 + -1;
      }
      if (*(char *)(*piVar26 + 0x51) == '\0') {
        iVar25 = piVar26[0x1a] + iVar25 * 0x14;
      }
      else {
        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;
      }
      *(int *)(iVar25 + 8) = iVar12;
      cVar14 = *(char *)(iVar4 + 0xe);
      if (cVar14 == 'U') {
        iVar25 = iVar12 + -1;
        if (-1 < iStack_e8) {
          iVar25 = iStack_e8;
        }
        if (*(char *)(*piVar26 + 0x51) == '\0') {
          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;
          cVar14 = *(char *)(iVar4 + 0xe);
        }
        else {
          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;
          cVar14 = *(char *)(iVar4 + 0xe);
        }
      }
    }
    if (cVar14 == 'S') {
      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);
    }
    if (*(char *)(iVar4 + 0xd) == 'S') {
      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);
      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);
      (*pcVar36)(piVar26,0xb,0,iVar34,0);
      uVar16 = (uint)*(byte *)(iVar4 + 0xd);
      if (uVar16 == 0x53) {
        iVar12 = piVar26[0x1b];
        if (iVar6 < 0) {
          iVar6 = iVar12 + -1;
        }
        goto LAB_000c1d20;
      }
    }
    else {
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);
      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);
      (*pcVar36)(piVar26,0xb,0,iVar34,0);
      uVar16 = (uint)*(byte *)(iVar4 + 0xd);
      if (uVar16 == 0x53) {
        iVar12 = piVar26[0x1b];
        iVar6 = 0;
LAB_000c1d20:
        if (*(char *)(*piVar26 + 0x51) == '\0') {
          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;
          uVar16 = (uint)*(byte *)(iVar4 + 0xd);
        }
        else {
          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;
          uVar16 = (uint)*(byte *)(iVar4 + 0xd);
        }
      }
    }
    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {
      iVar6 = *(int *)(puVar18 + 0x38) + -1;
      *(int *)(puVar18 + 0x38) = iVar6;
      cVar14 = *(char *)(iVar4 + 0xd);
      if (cVar14 == 'U') {
        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);
        cVar14 = *(char *)(iVar4 + 0xd);
      }
      if (cVar14 == 'S') {
        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);
        (*pcVar36)(piVar26,0xb,0,iVar6,0);
      }
      else {
        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);
      }
      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);
      (*pcVar35)(piVar26,iVar6);
    }
    if (*(char *)(iVar4 + 0xe) == 'S') {
      iVar22 = piVar26[0x1b];
      if (iStack_e8 < 0) {
        iStack_e8 = iVar22 + -1;
      }
      if (*(char *)(*piVar26 + 0x51) == '\0') {
        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;
      }
      else {
        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;
      }
    }
    (*pcVar36)(piVar26,0xb,0,iVar23,0);
    (*pcVar35)(piVar26,iVar34);
    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);
  }
  else {
    iVar22 = *(int *)(pcVar33 + 0x9ae68);
    if (uVar16 != 0x525700) {
LAB_000c08b4:
      iVar28 = iVar4;
      do {
        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||
             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||
            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||
           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||
            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;
        iVar28 = *(int *)(iVar28 + 0x18);
      } while (iVar28 != 0);
      piVar27 = *(int **)(puVar18 + 8);
      if (piVar27 == (int *)0x0) {
        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);
      }
      piVar26 = *(int **)(iVar4 + 4);
      iVar6 = *(int *)(puVar18 + 0x2c) + 1;
      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);
      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);
      iVar22 = iVar31 + iVar6;
      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);
      if (*(char *)(iVar4 + 0xe) == 'W') {
        *(int *)(puVar18 + 0x2c) = iVar28;
        piVar29 = (int *)0x0;
        if (0 < iVar31) goto LAB_000c0980;
        if (piVar26 != (int *)0x0) {
          iStack_e8 = *piVar26;
          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
          goto LAB_000c09d4;
        }
        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
      }
      else {
        piVar29 = *(int **)(iVar4 + 8);
        *(int *)(puVar18 + 0x2c) = iVar28;
        if (iVar31 < 1) {
          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
        }
        else {
LAB_000c0980:
          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
          iVar28 = 0;
          do {
            iVar34 = iVar28 + 1;
            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);
            iVar28 = iVar34;
          } while (iVar34 < iVar31);
        }
        if (piVar26 == (int *)0x0) {
          if (piVar29 == (int *)0x0) {
            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
            goto LAB_000c0b50;
          }
          iVar28 = *piVar29;
          iStack_f8 = iVar28;
          if (*(char *)(iVar4 + 0xc) == 'V') {
            iVar31 = 0;
            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);
            iVar34 = *(int *)(iVar4 + 0x38);
            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);
            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);
            goto LAB_000c1e74;
          }
          iVar28 = 0;
          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');
          iVar31 = piVar27[0x1b];
        }
        else {
          iStack_e8 = *piVar26;
          if (piVar29 == (int *)0x0) {
LAB_000c09d4:
            iVar28 = *(int *)(iVar4 + 0x40);
            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);
            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)
            ;
            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);
            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);
            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
            (*pcVar35)(puVar18,iVar4,1);
            iStack_f8 = iStack_e8;
          }
          else {
            iVar31 = *(int *)(iVar4 + 0x40);
            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);
            iVar28 = *piVar29;
            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);
            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)
            ;
            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);
            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);
            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);
            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
            (*pcVar35)(puVar18,iVar4,1);
            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);
            iVar23 = *(int *)(iVar4 + 0x40);
            iVar34 = *(int *)(iVar4 + 0x38);
            if (iVar12 != 0) {
              iVar25 = piVar27[0x1b];
              if (iVar12 < 0) {
                iVar12 = iVar25 + -1;
              }
              if (*(char *)(*piVar27 + 0x51) == '\0') {
                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;
              }
              else {
                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;
              }
            }
            iStack_f8 = iStack_e8 + iVar28;
            if (*(char *)(iVar4 + 0xc) == 'V') {
              iVar34 = iStack_e8 + iVar34;
              iStack_e8 = iVar6 + iVar23 + iStack_e8;
LAB_000c1e74:
              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);
              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);
              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);
              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);
            }
            else {
              iVar28 = 0;
            }
            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');
            if (iVar31 != 0) {
              iVar34 = piVar27[0x1b];
              if (iVar31 < 0) {
                iVar31 = iVar34 + -1;
              }
              if (*(char *)(*piVar27 + 0x51) == '\0') {
                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;
              }
              else {
                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;
              }
            }
          }
          iVar31 = piVar27[0x1b];
        }
        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);
        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);
        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);
        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);
        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),
                   iStack_f8 + -1);
        if (iVar28 != 0) {
          iVar31 = piVar27[0x1b];
          if (iVar28 < 0) {
            iVar28 = iVar31 + -1;
          }
          if (*(char *)(*piVar27 + 0x51) == '\0') {
            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;
          }
          else {
            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;
          }
        }
      }
LAB_000c0b50:
      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);
      if (*(int *)(iVar4 + 0x40) < 1) {
        (*pcVar36)(piVar27,0x4b,0,iVar22,0);
        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))
                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);
      }
      else {
        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);
      }
      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);
      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);
      (*pcVar35)(puVar18,iVar4,1);
      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);
      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);
      iVar22 = 5;
      iVar28 = *(int *)(iVar4 + 0x24);
      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);
      goto LAB_000c0f44;
    }
LAB_000c0c60:
    piVar26 = *(int **)(puVar18 + 8);
    if (piVar26 == (int *)0x0) {
      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);
      piVar27 = *(int **)(iVar4 + 8);
      piStack_e0 = *(int **)(iVar4 + 4);
      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;
LAB_000c1450:
      iStack_f0 = 0;
      bVar2 = false;
    }
    else {
      piStack_e0 = *(int **)(iVar4 + 4);
      piVar27 = *(int **)(iVar4 + 8);
      if (piVar27 == (int *)0x0) goto LAB_000c1450;
LAB_000c0c7c:
      iStack_f0 = *piVar27;
      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;
    }
    iVar22 = *(int *)(puVar18 + 0x2c);
    iVar12 = *(int *)(puVar18 + 0x28);
    iVar34 = *(int *)(pcVar33 + 0x9aee8);
    iVar6 = *(int *)(puVar18 + 0x38);
    iVar28 = iVar22 + iStack_f0;
    iVar23 = iVar28 + 2;
    iVar31 = iVar6 + -2;
    *(int *)(puVar18 + 0x28) = iVar12 + 1;
    iVar28 = iVar28 + 1;
    *(int *)(puVar18 + 0x38) = iVar31;
    *(int *)(puVar18 + 0x2c) = iVar23;
    iVar6 = iVar6 + -1;
    (*(code *)(iVar34 + -0x7e94))
              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,
               &uStack_c8);
    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);
    iVar34 = *(int *)(pcVar33 + 0x9aee4);
    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);
    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);
    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);
    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);
    (*pcVar36)(piVar26,0x46,0,iVar23,0);
    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);
    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);
    if (bVar2) {
      iVar31 = piVar26[0x1b];
      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);
      (*pcVar36)(piVar26,5,iVar12,iVar31,0);
      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);
      iStack_e8 = piVar26[0x1b];
      if (piVar27 != (int *)0x0) goto LAB_000c0e28;
      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);
    }
    else {
      iStack_e8 = piVar26[0x1b];
      if (piVar27 == (int *)0x0) {
        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);
      }
      else {
LAB_000c0e28:
        cVar14 = *(char *)(iVar4 + 0xd);
        uVar8 = uVar7;
        if (*(char *)(iVar4 + 0xe) == 'R') {
          if (*(char *)(iVar4 + 0xc) == 'V') {
LAB_000c1544:
            iVar31 = *(int *)(iVar4 + 0x40);
            if (piStack_e0 == (int *)0x0) {
              iVar25 = 0;
            }
            else {
              iVar25 = *piStack_e0;
              iVar31 = iVar31 + iVar25;
            }
            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);
            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);
            iVar22 = iVar22 + 1;
            if (0 < iStack_f0) {
              iVar10 = iStack_f0 + iVar31;
              iVar11 = iVar22 - iVar31;
              do {
                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);
                iVar31 = iVar31 + 1;
              } while (iVar31 != iVar10);
            }
            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);
            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);
            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);
            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);
            uVar9 = uStack_c8;
            if (cVar14 != 'R') {
              uVar8 = 0;
              uVar9 = 0;
            }
            goto LAB_000c14a0;
          }
          if (cVar14 == 'R') goto LAB_000c1494;
          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);
          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);
        }
        else if (cVar14 == 'R') {
          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;
LAB_000c1494:
          iVar31 = 0;
          uVar9 = uStack_c8;
LAB_000c14a0:
          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);
          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);
          if (iVar31 != 0) {
            iVar22 = piVar26[0x1b];
            if (iVar31 < 0) {
              iVar31 = iVar22 + -1;
            }
            if (*(char *)(*piVar26 + 0x51) == '\0') {
              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;
            }
            else {
              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;
            }
          }
        }
        else {
          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);
        }
        if (bVar2) goto LAB_000c0e5c;
      }
      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);
    }
LAB_000c0e5c:
    (*pcVar36)(piVar26,0x53,iVar23,1,0);
    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);
    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);
    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);
    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);
  }
  iVar22 = 0x42;
  (*pcVar36)(piVar26,0x42,iVar28,0,0);
  piVar27 = (int *)piVar26[0x1b];
  if (iStack_f8 < 0) {
    iStack_f8 = (int)piVar27 + -1;
  }
  if (*(char *)(*piVar26 + 0x51) == '\0') {
    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;
    iVar22 = iStack_f8;
  }
  else {
    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;
  }
  *(int **)(iVar4 + 8) = piVar27;
LAB_000c0f44:
  if (iStack_c4 == *piVar30) {
    return;
  }
  pcVar33 = *(code **)(pcVar33 + 0x9b1e4);
  (*pcVar33)();
  iVar4 = *piVar27;
  if (iVar22 == 0) {
    if (*(char *)(iVar4 + 0x51) == '\0') {
      FUN_000c02d8();
      return;
    }
  }
  else {
    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);
    if (*(char *)(iVar4 + 0x51) == '\0') {
      FUN_000c02d8(piVar27,iVar22,iVar28);
    }
    if (iVar22 != 0) {
                    /* WARNING: Could not recover jumptable at 0x000c1fc0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);
      return;
    }
  }
  return;
}


lui gp,0xa
addiu gp,gp,0x3210
addu gp,gp,t9
addiu sp,sp,-0x48
sw s0,0x38(sp)
sw s2,0x40(sp)
or s2,a1,zero
sw s1,0x3c(sp)
or s1,a0,zero
sw gp,0x10(sp)
sw ra,0x44(sp)
lw s0,-0x7b84(gp)
lbu v0,0x17(a0)
lw v1,0x0(s0)
sw v1,0x34(sp)
beq v0,zero,0x000c042c
_li v0,0x2
sw zero,0x30(sp)
sb v0,0x2c(sp)
lw v0,-0x7ed8(gp)
addiu v0,v0,0x7abc
sw v0,0x1c(sp)
lw v0,-0x7f54(gp)
addiu v0,v0,-0xbec
beq a1,zero,0x000c0468
_sw v0,0x20(sp)
lw t9,-0x7ed8(gp)
addiu a0,sp,0x18
addiu t9,t9,0x6e6c
jalr t9
_sw a2,0x50(sp)
lbu v0,0x2c(sp)
lw gp,0x10(sp)
bne v0,zero,0x000c0468
_lw a2,0x50(sp)
lw t9,-0x7d3c(gp)
or a1,s2,zero
addiu t9,t9,0x2d8
bal 0x000c02d8
_or a0,s1,zero
lw gp,0x10(sp)
lw v1,0x34(sp)
lw v0,0x0(s0)
bne v1,v0,0x000c0484
_lw ra,0x44(sp)
lw s2,0x40(sp)
lw s1,0x3c(sp)
lw s0,0x38(sp)
jr ra
_addiu sp,sp,0x48
lw t9,-0x7e9c(gp)
or a1,s2,zero
addiu t9,t9,0x1c50
jalr t9
_or a0,s1,zero
b 0x000c0444
_lw gp,0x10(sp)
lw t9,-0x7ba0(gp)
jalr t9
_nop
(translation_unit "void FUN_000c03a0(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)\n\n{\n  ushort uVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  short sVar13;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  char cVar14;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  int iVar23;\n  undefined1 *puVar24;\n  int iVar25;\n  int *piVar26;\n  int *piVar27;\n  int unaff_s4;\n  code *unaff_s5;\n  int iVar28;\n  int *piVar29;\n  undefined1 *unaff_s6;\n  int *piVar30;\n  undefined1 *unaff_s7;\n  int iVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  int unaff_s8;\n  int iVar34;\n  code *pcVar35;\n  code *pcVar36;\n  int iStack_f8;\n  code *pcStack_f4;\n  int iStack_f0;\n  int iStack_e8;\n  code *pcStack_e4;\n  int *piStack_e0;\n  undefined4 uStack_c8;\n  int iStack_c4;\n  undefined1 *puStack_c0;\n  undefined1 *puStack_bc;\n  undefined1 *puStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  code *pcStack_ac;\n  undefined1 *puStack_a8;\n  undefined1 *puStack_a4;\n  int iStack_a0;\n  code *pcStack_9c;\n  undefined1 *puStack_8c;\n  int iStack_88;\n  undefined *puStack_80;\n  undefined1 *puStack_78;\n  int iStack_74;\n  undefined *puStack_70;\n  undefined1 *puStack_6c;\n  undefined1 *puStack_68;\n  undefined1 auStack_30 [4];\n  undefined *local_2c;\n  undefined *local_28;\n  char local_1c;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  puVar17 = param_1;\n  puVar20 = param_2;\n  if (param_1[0x17] == '\0') {\nLAB_000c042c:\n    FUN_000c02d8();\n  }\n  else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }\n  if (local_14 == *(int *)puVar3) {\n    return;\n  }\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_80 = puVar32 + 0xa3120;\n  puStack_70 = puVar3;\n  piVar26 = *(int **)(puVar32 + 0x9b59c);\n  iStack_74 = *piVar26;\n  puVar18 = puVar17;\n  puVar21 = puVar20;\n  puVar24 = param_3;\n  puStack_c0 = puVar3;\n  puStack_b8 = param_2;\n  puStack_6c = param_1;\n  puStack_68 = param_2;\n  if ((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }\n  if (iStack_74 == *piVar26) {\n    return;\n  }\n  pcVar33 = *(code **)(puStack_80 + -0x7ba0);\n  pcVar36 = FUN_000c082c;\n  (*pcVar33)();\n  piVar30 = *(int **)(pcVar33 + 0x9b200);\n  iVar4 = *(int *)(puVar21 + 0x44);\n  iStack_c4 = *piVar30;\n  uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;\n  puStack_bc = param_1;\n  piStack_b4 = piVar26;\n  iStack_b0 = unaff_s4;\n  pcStack_ac = unaff_s5;\n  puStack_a8 = unaff_s6;\n  puStack_a4 = unaff_s7;\n  iStack_a0 = unaff_s8;\n  pcStack_9c = pcVar36;\n  puStack_8c = param_4;\n  if (*(char *)(iVar4 + 0xc) == 'L') {\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  iVar22 = 0x42;\n  (*pcVar36)(piVar26,0x42,iVar28,0,0);\n  piVar27 = (int *)piVar26[0x1b];\n  if (iStack_f8 < 0) {\n    iStack_f8 = (int)piVar27 + -1;\n  }\n  if (*(char *)(*piVar26 + 0x51) == '\0') {\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }\n  else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }\n  *(int **)(iVar4 + 8) = piVar27;\nLAB_000c0f44:\n  if (iStack_c4 == *piVar30) {\n    return;\n  }\n  pcVar33 = *(code **)(pcVar33 + 0x9b1e4);\n  (*pcVar33)();\n  iVar4 = *piVar27;\n  if (iVar22 == 0) {\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }\n  else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x000c1fc0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_000c03a0(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)\n\n{\n  ushort uVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  short sVar13;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  char cVar14;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  int iVar23;\n  undefined1 *puVar24;\n  int iVar25;\n  int *piVar26;\n  int *piVar27;\n  int unaff_s4;\n  code *unaff_s5;\n  int iVar28;\n  int *piVar29;\n  undefined1 *unaff_s6;\n  int *piVar30;\n  undefined1 *unaff_s7;\n  int iVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  int unaff_s8;\n  int iVar34;\n  code *pcVar35;\n  code *pcVar36;\n  int iStack_f8;\n  code *pcStack_f4;\n  int iStack_f0;\n  int iStack_e8;\n  code *pcStack_e4;\n  int *piStack_e0;\n  undefined4 uStack_c8;\n  int iStack_c4;\n  undefined1 *puStack_c0;\n  undefined1 *puStack_bc;\n  undefined1 *puStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  code *pcStack_ac;\n  undefined1 *puStack_a8;\n  undefined1 *puStack_a4;\n  int iStack_a0;\n  code *pcStack_9c;\n  undefined1 *puStack_8c;\n  int iStack_88;\n  undefined *puStack_80;\n  undefined1 *puStack_78;\n  int iStack_74;\n  undefined *puStack_70;\n  undefined1 *puStack_6c;\n  undefined1 *puStack_68;\n  undefined1 auStack_30 [4];\n  undefined *local_2c;\n  undefined *local_28;\n  char local_1c;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  puVar17 = param_1;\n  puVar20 = param_2;\n  if (param_1[0x17] == '\0') {\nLAB_000c042c:\n    FUN_000c02d8();\n  }\n  else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }\n  if (local_14 == *(int *)puVar3) {\n    return;\n  }\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_80 = puVar32 + 0xa3120;\n  puStack_70 = puVar3;\n  piVar26 = *(int **)(puVar32 + 0x9b59c);\n  iStack_74 = *piVar26;\n  puVar18 = puVar17;\n  puVar21 = puVar20;\n  puVar24 = param_3;\n  puStack_c0 = puVar3;\n  puStack_b8 = param_2;\n  puStack_6c = param_1;\n  puStack_68 = param_2;\n  if ((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }\n  if (iStack_74 == *piVar26) {\n    return;\n  }\n  pcVar33 = *(code **)(puStack_80 + -0x7ba0);\n  pcVar36 = FUN_000c082c;\n  (*pcVar33)();\n  piVar30 = *(int **)(pcVar33 + 0x9b200);\n  iVar4 = *(int *)(puVar21 + 0x44);\n  iStack_c4 = *piVar30;\n  uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;\n  puStack_bc = param_1;\n  piStack_b4 = piVar26;\n  iStack_b0 = unaff_s4;\n  pcStack_ac = unaff_s5;\n  puStack_a8 = unaff_s6;\n  puStack_a4 = unaff_s7;\n  iStack_a0 = unaff_s8;\n  pcStack_9c = pcVar36;\n  puStack_8c = param_4;\n  if (*(char *)(iVar4 + 0xc) == 'L') {\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  iVar22 = 0x42;\n  (*pcVar36)(piVar26,0x42,iVar28,0,0);\n  piVar27 = (int *)piVar26[0x1b];\n  if (iStack_f8 < 0) {\n    iStack_f8 = (int)piVar27 + -1;\n  }\n  if (*(char *)(*piVar26 + 0x51) == '\0') {\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }\n  else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }\n  *(int **)(iVar4 + 8) = piVar27;\nLAB_000c0f44:\n  if (iStack_c4 == *piVar30) {\n    return;\n  }\n  pcVar33 = *(code **)(pcVar33 + 0x9b1e4);\n  (*pcVar33)();\n  iVar4 = *piVar27;\n  if (iVar22 == 0) {\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }\n  else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x000c1fc0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000c03a0(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)" identifier (parameter_list "(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)" ( (parameter_declaration "undefined1 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined1 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined1 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  ushort uVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  short sVar13;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  char cVar14;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  int iVar23;\n  undefined1 *puVar24;\n  int iVar25;\n  int *piVar26;\n  int *piVar27;\n  int unaff_s4;\n  code *unaff_s5;\n  int iVar28;\n  int *piVar29;\n  undefined1 *unaff_s6;\n  int *piVar30;\n  undefined1 *unaff_s7;\n  int iVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  int unaff_s8;\n  int iVar34;\n  code *pcVar35;\n  code *pcVar36;\n  int iStack_f8;\n  code *pcStack_f4;\n  int iStack_f0;\n  int iStack_e8;\n  code *pcStack_e4;\n  int *piStack_e0;\n  undefined4 uStack_c8;\n  int iStack_c4;\n  undefined1 *puStack_c0;\n  undefined1 *puStack_bc;\n  undefined1 *puStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  code *pcStack_ac;\n  undefined1 *puStack_a8;\n  undefined1 *puStack_a4;\n  int iStack_a0;\n  code *pcStack_9c;\n  undefined1 *puStack_8c;\n  int iStack_88;\n  undefined *puStack_80;\n  undefined1 *puStack_78;\n  int iStack_74;\n  undefined *puStack_70;\n  undefined1 *puStack_6c;\n  undefined1 *puStack_68;\n  undefined1 auStack_30 [4];\n  undefined *local_2c;\n  undefined *local_28;\n  char local_1c;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  puVar17 = param_1;\n  puVar20 = param_2;\n  if (param_1[0x17] == '\0') {\nLAB_000c042c:\n    FUN_000c02d8();\n  }\n  else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }\n  if (local_14 == *(int *)puVar3) {\n    return;\n  }\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_80 = puVar32 + 0xa3120;\n  puStack_70 = puVar3;\n  piVar26 = *(int **)(puVar32 + 0x9b59c);\n  iStack_74 = *piVar26;\n  puVar18 = puVar17;\n  puVar21 = puVar20;\n  puVar24 = param_3;\n  puStack_c0 = puVar3;\n  puStack_b8 = param_2;\n  puStack_6c = param_1;\n  puStack_68 = param_2;\n  if ((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }\n  if (iStack_74 == *piVar26) {\n    return;\n  }\n  pcVar33 = *(code **)(puStack_80 + -0x7ba0);\n  pcVar36 = FUN_000c082c;\n  (*pcVar33)();\n  piVar30 = *(int **)(pcVar33 + 0x9b200);\n  iVar4 = *(int *)(puVar21 + 0x44);\n  iStack_c4 = *piVar30;\n  uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;\n  puStack_bc = param_1;\n  piStack_b4 = piVar26;\n  iStack_b0 = unaff_s4;\n  pcStack_ac = unaff_s5;\n  puStack_a8 = unaff_s6;\n  puStack_a4 = unaff_s7;\n  iStack_a0 = unaff_s8;\n  pcStack_9c = pcVar36;\n  puStack_8c = param_4;\n  if (*(char *)(iVar4 + 0xc) == 'L') {\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  iVar22 = 0x42;\n  (*pcVar36)(piVar26,0x42,iVar28,0,0);\n  piVar27 = (int *)piVar26[0x1b];\n  if (iStack_f8 < 0) {\n    iStack_f8 = (int)piVar27 + -1;\n  }\n  if (*(char *)(*piVar26 + 0x51) == '\0') {\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }\n  else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }\n  *(int **)(iVar4 + 8) = piVar27;\nLAB_000c0f44:\n  if (iStack_c4 == *piVar30) {\n    return;\n  }\n  pcVar33 = *(code **)(pcVar33 + 0x9b1e4);\n  (*pcVar33)();\n  iVar4 = *piVar27;\n  if (iVar22 == 0) {\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }\n  else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x000c1fc0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }\n  return;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "short sVar13;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * 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 "int iVar23;" primitive_type identifier ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "int unaff_s4;" primitive_type identifier ;) (declaration "code *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "undefined1 *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "undefined1 *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "undefined *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "code *pcVar33;" type_identifier (pointer_declarator "*pcVar33" * identifier) ;) (declaration "int unaff_s8;" primitive_type identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "code *pcVar35;" type_identifier (pointer_declarator "*pcVar35" * identifier) ;) (declaration "code *pcVar36;" type_identifier (pointer_declarator "*pcVar36" * identifier) ;) (declaration "int iStack_f8;" primitive_type identifier ;) (declaration "code *pcStack_f4;" type_identifier (pointer_declarator "*pcStack_f4" * identifier) ;) (declaration "int iStack_f0;" primitive_type identifier ;) (declaration "int iStack_e8;" primitive_type identifier ;) (declaration "code *pcStack_e4;" type_identifier (pointer_declarator "*pcStack_e4" * identifier) ;) (declaration "int *piStack_e0;" primitive_type (pointer_declarator "*piStack_e0" * identifier) ;) (declaration "undefined4 uStack_c8;" type_identifier identifier ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "undefined1 *puStack_c0;" type_identifier (pointer_declarator "*puStack_c0" * identifier) ;) (declaration "undefined1 *puStack_bc;" type_identifier (pointer_declarator "*puStack_bc" * identifier) ;) (declaration "undefined1 *puStack_b8;" type_identifier (pointer_declarator "*puStack_b8" * identifier) ;) (declaration "int *piStack_b4;" primitive_type (pointer_declarator "*piStack_b4" * identifier) ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "code *pcStack_ac;" type_identifier (pointer_declarator "*pcStack_ac" * identifier) ;) (declaration "undefined1 *puStack_a8;" type_identifier (pointer_declarator "*puStack_a8" * identifier) ;) (declaration "undefined1 *puStack_a4;" type_identifier (pointer_declarator "*puStack_a4" * identifier) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "code *pcStack_9c;" type_identifier (pointer_declarator "*pcStack_9c" * identifier) ;) (declaration "undefined1 *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "int iStack_88;" primitive_type identifier ;) (declaration "undefined *puStack_80;" type_identifier (pointer_declarator "*puStack_80" * identifier) ;) (declaration "undefined1 *puStack_78;" type_identifier (pointer_declarator "*puStack_78" * identifier) ;) (declaration "int iStack_74;" primitive_type identifier ;) (declaration "undefined *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (declaration "undefined1 *puStack_6c;" type_identifier (pointer_declarator "*puStack_6c" * identifier) ;) (declaration "undefined1 *puStack_68;" type_identifier (pointer_declarator "*puStack_68" * identifier) ;) (declaration "undefined1 auStack_30 [4];" type_identifier (array_declarator "auStack_30 [4]" identifier [ number_literal ]) ;) (declaration "undefined *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "char local_1c;" primitive_type identifier ;) (declaration "undefined4 local_18;" type_identifier identifier ;) (declaration "int local_14;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar17 = param_1;" (assignment_expression "puVar17 = param_1" identifier = identifier) ;) (expression_statement "puVar20 = param_2;" (assignment_expression "puVar20 = param_2" identifier = identifier) ;) (if_statement "if (param_1[0x17] == '\0') {\nLAB_000c042c:\n    FUN_000c02d8();\n  }\n  else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }" if (parenthesized_expression "(param_1[0x17] == '\0')" ( (binary_expression "param_1[0x17] == '\0'" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000c042c:\n    FUN_000c02d8();\n  }" { (labeled_statement "LAB_000c042c:\n    FUN_000c02d8();" statement_identifier : (expression_statement "FUN_000c02d8();" (call_expression "FUN_000c02d8()" identifier (argument_list "()" ( ))) ;)) }) (else_clause "else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }" else (compound_statement "{\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }" { (expression_statement "local_18 = 0;" (assignment_expression "local_18 = 0" identifier = number_literal) ;) (expression_statement "local_1c = '\x02';" (assignment_expression "local_1c = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "local_2c = PTR_LAB_0015b6d8 + 0x7abc;" (assignment_expression "local_2c = PTR_LAB_0015b6d8 + 0x7abc" identifier = (binary_expression "PTR_LAB_0015b6d8 + 0x7abc" identifier + number_literal)) ;) (expression_statement "local_28 = PTR_LAB_0015b65c + -0xbec;" (assignment_expression "local_28 = PTR_LAB_0015b65c + -0xbec" identifier = (binary_expression "PTR_LAB_0015b65c + -0xbec" identifier + number_literal)) ;) (if_statement "if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;" if (parenthesized_expression "((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0'))" ( (binary_expression "(param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')" (parenthesized_expression "(param_2 != (undefined1 *)0x0)" ( (binary_expression "param_2 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')" ( (comma_expression "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0'" (call_expression "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6d8 + 0x6e6c)" * (cast_expression "(code *)(PTR_LAB_0015b6d8 + 0x6e6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6d8 + 0x6e6c)" ( (binary_expression "PTR_LAB_0015b6d8 + 0x6e6c" identifier + number_literal) )))) )) (argument_list "(auStack_30)" ( identifier ))) , (binary_expression "local_1c == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_000c042c;" goto statement_identifier ;)) (expression_statement "(*(code *)(PTR_LAB_0015b714 + 0x1c50))();" (call_expression "(*(code *)(PTR_LAB_0015b714 + 0x1c50))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b714 + 0x1c50))" ( (pointer_expression "*(code *)(PTR_LAB_0015b714 + 0x1c50)" * (cast_expression "(code *)(PTR_LAB_0015b714 + 0x1c50)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b714 + 0x1c50)" ( (binary_expression "PTR_LAB_0015b714 + 0x1c50" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) }))) (if_statement "if (local_14 == *(int *)puVar3) {\n    return;\n  }" if (parenthesized_expression "(local_14 == *(int *)puVar3)" ( (binary_expression "local_14 == *(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 "puVar32 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar32 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_80 = puVar32 + 0xa3120;" (assignment_expression "puStack_80 = puVar32 + 0xa3120" identifier = (binary_expression "puVar32 + 0xa3120" identifier + number_literal)) ;) (expression_statement "puStack_70 = puVar3;" (assignment_expression "puStack_70 = puVar3" identifier = identifier) ;) (expression_statement "piVar26 = *(int **)(puVar32 + 0x9b59c);" (assignment_expression "piVar26 = *(int **)(puVar32 + 0x9b59c)" identifier = (pointer_expression "*(int **)(puVar32 + 0x9b59c)" * (cast_expression "(int **)(puVar32 + 0x9b59c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x9b59c)" ( (binary_expression "puVar32 + 0x9b59c" identifier + number_literal) ))))) ;) (expression_statement "iStack_74 = *piVar26;" (assignment_expression "iStack_74 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "puVar18 = puVar17;" (assignment_expression "puVar18 = puVar17" identifier = identifier) ;) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;) (expression_statement "puVar24 = param_3;" (assignment_expression "puVar24 = param_3" identifier = identifier) ;) (expression_statement "puStack_c0 = puVar3;" (assignment_expression "puStack_c0 = puVar3" identifier = identifier) ;) (expression_statement "puStack_b8 = param_2;" (assignment_expression "puStack_b8 = param_2" identifier = identifier) ;) (expression_statement "puStack_6c = param_1;" (assignment_expression "puStack_6c = param_1" identifier = identifier) ;) (expression_statement "puStack_68 = param_2;" (assignment_expression "puStack_68 = param_2" identifier = identifier) ;) (if_statement "if ((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }" if (parenthesized_expression "((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0))" ( (binary_expression "(*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)" (parenthesized_expression "(*(int *)(puVar20 + 0xc) == 0)" ( (binary_expression "*(int *)(puVar20 + 0xc) == 0" (pointer_expression "*(int *)(puVar20 + 0xc)" * (cast_expression "(int *)(puVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)" ( (comma_expression "unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0" (assignment_expression "unaff_s4 = *(int *)(puVar20 + 0x3c)" identifier = (pointer_expression "*(int *)(puVar20 + 0x3c)" * (cast_expression "(int *)(puVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x3c)" ( (binary_expression "puVar20 + 0x3c" identifier + number_literal) ))))) , (comma_expression "puStack_c0 = puVar20, unaff_s4 != 0" (assignment_expression "puStack_c0 = puVar20" identifier = identifier) , (binary_expression "unaff_s4 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }" { (expression_statement "param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);" (assignment_expression "param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1)" identifier = (cast_expression "(undefined1 *)(*(int *)(puVar17 + 0x2c) + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x2c) + 1)" ( (binary_expression "*(int *)(puVar17 + 0x2c) + 1" (pointer_expression "*(int *)(puVar17 + 0x2c)" * (cast_expression "(int *)(puVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2c)" ( (binary_expression "puVar17 + 0x2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined1 **)(puVar17 + 0x2c) = param_1;" (assignment_expression "*(undefined1 **)(puVar17 + 0x2c) = param_1" (pointer_expression "*(undefined1 **)(puVar17 + 0x2c)" * (cast_expression "(undefined1 **)(puVar17 + 0x2c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x2c)" ( (binary_expression "puVar17 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar20 + 0xc) = param_1;" (assignment_expression "*(undefined1 **)(puVar20 + 0xc) = param_1" (pointer_expression "*(undefined1 **)(puVar20 + 0xc)" * (cast_expression "(undefined1 **)(puVar20 + 0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_s6 = *(undefined1 **)(puVar17 + 8);" (assignment_expression "unaff_s6 = *(undefined1 **)(puVar17 + 8)" identifier = (pointer_expression "*(undefined1 **)(puVar17 + 8)" * (cast_expression "(undefined1 **)(puVar17 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 8)" ( (binary_expression "puVar17 + 8" identifier + number_literal) ))))) ;) (if_statement "if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }" if (parenthesized_expression "(unaff_s6 == (undefined1 *)0x0)" ( (binary_expression "unaff_s6 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }" { (expression_statement "unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();" (assignment_expression "unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))()" identifier = (cast_expression "(undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))()" (parenthesized_expression "(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))" ( (pointer_expression "*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c)" * (cast_expression "(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x9b280) + -0x371c)" ( (binary_expression "*(int *)(puVar32 + 0x9b280) + -0x371c" (pointer_expression "*(int *)(puVar32 + 0x9b280)" * (cast_expression "(int *)(puVar32 + 0x9b280)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x9b280)" ( (binary_expression "puVar32 + 0x9b280" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) })) (expression_statement "iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);" (assignment_expression "iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78)" identifier = (call_expression "(*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78)" (parenthesized_expression "(*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))" ( (pointer_expression "*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0)" * (cast_expression "(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0)" ( (binary_expression "*(int *)(puStack_80 + -0x7ed8) + 0x7cb0" (pointer_expression "*(int *)(puStack_80 + -0x7ed8)" * (cast_expression "(int *)(puStack_80 + -0x7ed8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_80 + -0x7ed8)" ( (binary_expression "puStack_80 + -0x7ed8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*(undefined4 *)(unaff_s4 + 0xc),&puStack_78)" ( (pointer_expression "*(undefined4 *)(unaff_s4 + 0xc)" * (cast_expression "(undefined4 *)(unaff_s4 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + 0xc)" ( (binary_expression "unaff_s4 + 0xc" identifier + number_literal) )))) , (pointer_expression "&puStack_78" & identifier) )))) ;) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }" { (expression_statement "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);" (call_expression "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1)" identifier (argument_list "(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1)" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s4 + 0xc)" * (cast_expression "(undefined4 *)(unaff_s4 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + 0xc)" ( (binary_expression "unaff_s4 + 0xc" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) (expression_statement "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);" (assignment_expression "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" ( (binary_expression "*(int *)(puStack_80 + -0x7ea0) + -0x3890" (pointer_expression "*(int *)(puStack_80 + -0x7ea0)" * (cast_expression "(int *)(puStack_80 + -0x7ea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_80 + -0x7ea0)" ( (binary_expression "puStack_80 + -0x7ea0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*unaff_s5)(unaff_s6,0xf,param_1,0);" (call_expression "(*unaff_s5)(unaff_s6,0xf,param_1,0)" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "(unaff_s6,0xf,param_1,0)" ( identifier , number_literal , identifier , number_literal ))) ;) (expression_statement "puVar21 = (undefined1 *)0x14;" (assignment_expression "puVar21 = (undefined1 *)0x14" identifier = (cast_expression "(undefined1 *)0x14" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) (expression_statement "puVar24 = param_1;" (assignment_expression "puVar24 = param_1" identifier = identifier) ;) (expression_statement "param_4 = param_3;" (assignment_expression "param_4 = param_3" identifier = identifier) ;) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }" else (compound_statement "{\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }" { (expression_statement "puVar21 = (undefined1 *)0x46;" (assignment_expression "puVar21 = (undefined1 *)0x46" identifier = (cast_expression "(undefined1 *)0x46" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) (expression_statement "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);" (assignment_expression "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" ( (binary_expression "*(int *)(puStack_80 + -0x7ea0) + -0x3890" (pointer_expression "*(int *)(puStack_80 + -0x7ea0)" * (cast_expression "(int *)(puStack_80 + -0x7ea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_80 + -0x7ea0)" ( (binary_expression "puStack_80 + -0x7ea0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar24 = puStack_78;" (assignment_expression "puVar24 = puStack_78" identifier = identifier) ;) (expression_statement "param_4 = param_1;" (assignment_expression "param_4 = param_1" identifier = identifier) ;) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" if (parenthesized_expression "(puStack_78 == (undefined1 *)0x0)" ( (binary_expression "puStack_78 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }" { (expression_statement "puVar24 = (undefined1 *)0x0;" (assignment_expression "puVar24 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) (expression_statement "puVar21 = &DAT_0000000b;" (assignment_expression "puVar21 = &DAT_0000000b" identifier = (pointer_expression "&DAT_0000000b" & identifier)) ;) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" identifier = identifier) ;) (expression_statement "param_4 = param_3;" (assignment_expression "param_4 = param_3" identifier = identifier) ;) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "()" ( ))) ;) }) (else_clause "else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" else (if_statement "if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" if (parenthesized_expression "(-1 < (int)puStack_78)" ( (binary_expression "-1 < (int)puStack_78" number_literal < (cast_expression "(int)puStack_78" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" { (expression_statement "puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);" (assignment_expression "puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6)" identifier = (cast_expression "(undefined1 *)(int)*(short *)(puVar20 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(short *)(puVar20 + 6)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar20 + 6)" * (cast_expression "(short *)(puVar20 + 6)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 6)" ( (binary_expression "puVar20 + 6" identifier + number_literal) ))))))) ;) (expression_statement "puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);" (assignment_expression "puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f)" identifier = (cast_expression "(undefined1 *)((int)puStack_78 >> 0x1f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puStack_78 >> 0x1f)" ( (binary_expression "(int)puStack_78 >> 0x1f" (cast_expression "(int)puStack_78" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }" if (parenthesized_expression "((int)puStack_78 < 8)" ( (binary_expression "(int)puStack_78 < 8" (cast_expression "(int)puStack_78" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }" { (expression_statement "sVar13 = 0x1e;" (assignment_expression "sVar13 = 0x1e" identifier = number_literal) ;) (expression_statement "puVar5 = puVar24;" (assignment_expression "puVar5 = puVar24" identifier = identifier) ;) (expression_statement "puVar19 = puStack_78;" (assignment_expression "puVar19 = puStack_78" identifier = identifier) ;) (if_statement "if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }" if (parenthesized_expression "(puStack_78 == (undefined1 *)0x1)" ( (binary_expression "puStack_78 == (undefined1 *)0x1" identifier == (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }" { (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }" if (parenthesized_expression "(0 < (int)puVar21)" ( (binary_expression "0 < (int)puVar21" number_literal < (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }" { (expression_statement "uVar16 = *(uint *)(puVar20 + 8);" (assignment_expression "uVar16 = *(uint *)(puVar20 + 8)" identifier = (pointer_expression "*(uint *)(puVar20 + 8)" * (cast_expression "(uint *)(puVar20 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000c0614;" goto statement_identifier ;) })) }) (else_clause "else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }" else (compound_statement "{\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }" { (do_statement "do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);" do (compound_statement "{\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            }" { (expression_statement "puVar18 = (undefined1 *)((int)puVar19 << 1);" (assignment_expression "puVar18 = (undefined1 *)((int)puVar19 << 1)" identifier = (cast_expression "(undefined1 *)((int)puVar19 << 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 << 1)" ( (binary_expression "(int)puVar19 << 1" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "sVar13 = sVar13 + -10;" (assignment_expression "sVar13 = sVar13 + -10" identifier = (binary_expression "sVar13 + -10" identifier + number_literal)) ;) (if_statement "if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;" if (parenthesized_expression "((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0)" ( (binary_expression "(int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0" (binary_expression "(int)puVar19 < 0" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) || (binary_expression "((uint)puVar5 & 0x7fffffff) != 0" (parenthesized_expression "((uint)puVar5 & 0x7fffffff)" ( (binary_expression "(uint)puVar5 & 0x7fffffff" (cast_expression "(uint)puVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puVar5 = (undefined1 *)0x0;" (assignment_expression "puVar5 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar19 = puVar18;" (assignment_expression "puVar19 = puVar18" identifier = identifier) ;) }) while (parenthesized_expression "(puVar18 < &DAT_00000008)" ( (binary_expression "puVar18 < &DAT_00000008" identifier < (pointer_expression "&DAT_00000008" & identifier)) )) ;) (expression_statement "param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);" (assignment_expression "param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20)" identifier = (cast_expression "(undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_80 + -0x7fb4) + 0x2c20)" ( (binary_expression "*(int *)(puStack_80 + -0x7fb4) + 0x2c20" (pointer_expression "*(int *)(puStack_80 + -0x7fb4)" * (cast_expression "(int *)(puStack_80 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_80 + -0x7fb4)" ( (binary_expression "puStack_80 + -0x7fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);" (assignment_expression "puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" identifier = (cast_expression "(undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" ( (binary_expression "(int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21" (cast_expression "(int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2))" ( (type_descriptor "int" primitive_type) ) (cast_expression "(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2))" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2))" ( (binary_expression "sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)" identifier + (pointer_expression "*(short *)(param_4 + ((uint)puVar18 & 7) * 2)" * (cast_expression "(short *)(param_4 + ((uint)puVar18 & 7) * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + ((uint)puVar18 & 7) * 2)" ( (binary_expression "param_4 + ((uint)puVar18 & 7) * 2" identifier + (binary_expression "((uint)puVar18 & 7) * 2" (parenthesized_expression "((uint)puVar18 & 7)" ( (binary_expression "(uint)puVar18 & 7" (cast_expression "(uint)puVar18" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) * number_literal)) ))))) )))) < (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }" if (parenthesized_expression "(puVar21 != (undefined1 *)0x0)" ( (binary_expression "puVar21 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }" { (expression_statement "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);" (assignment_expression "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f)" identifier = (cast_expression "(undefined1 *)((uint)puStack_78 >> 0x1f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puStack_78 >> 0x1f)" ( (binary_expression "(uint)puStack_78 >> 0x1f" (cast_expression "(uint)puStack_78" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "sVar13 = 0x1e;" (assignment_expression "sVar13 = 0x1e" identifier = number_literal) ;) (while_statement "while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }" { (expression_statement "puStack_78 = (undefined1 *)((int)puStack_78 << 1);" (assignment_expression "puStack_78 = (undefined1 *)((int)puStack_78 << 1)" identifier = (cast_expression "(undefined1 *)((int)puStack_78 << 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puStack_78 << 1)" ( (binary_expression "(int)puStack_78 << 1" (cast_expression "(int)puStack_78" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);" (assignment_expression "puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1)" identifier = (cast_expression "(undefined1 *)((uint)puVar21 | (int)puVar24 << 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar21 | (int)puVar24 << 1)" ( (binary_expression "(uint)puVar21 | (int)puVar24 << 1" (cast_expression "(uint)puVar21" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(int)puVar24 << 1" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) (if_statement "if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;" if (parenthesized_expression "((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))" ( (binary_expression "(puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78)" (parenthesized_expression "(puVar24 != (undefined1 *)0x0)" ( (binary_expression "puVar24 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78)" ( (comma_expression "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78" (assignment_expression "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f)" identifier = (cast_expression "(undefined1 *)((uint)puStack_78 >> 0x1f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puStack_78 >> 0x1f)" ( (binary_expression "(uint)puStack_78 >> 0x1f" (cast_expression "(uint)puStack_78" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) , (binary_expression "&DAT_00000007 < puStack_78" (pointer_expression "&DAT_00000007" & identifier) < identifier)) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar24 = (undefined1 *)0x0;" (assignment_expression "puVar24 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar13 = sVar13 + -10;" (assignment_expression "sVar13 = sVar13 + -10" identifier = (binary_expression "sVar13 + -10" identifier + number_literal)) ;) })) (expression_statement "puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);" (assignment_expression "puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2)" identifier = (binary_expression "(undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2)" (cast_expression "(undefined1 *)(uint)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + ((uint)puStack_78 & 7) * 2)" ( (binary_expression "param_4 + ((uint)puStack_78 & 7) * 2" identifier + (binary_expression "((uint)puStack_78 & 7) * 2" (parenthesized_expression "((uint)puStack_78 & 7)" ( (binary_expression "(uint)puStack_78 & 7" (cast_expression "(uint)puStack_78" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) * number_literal)) ))))) ;) (goto_statement "goto LAB_000c0604;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }" else (compound_statement "{\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }" { (if_statement "if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }" if (parenthesized_expression "((int)puStack_78 < 0)" ( (binary_expression "(int)puStack_78 < 0" (cast_expression "(int)puStack_78" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            iVar4 = LZCOUNT(puVar24);\n          }" { (expression_statement "iVar4 = LZCOUNT(puVar24);" (assignment_expression "iVar4 = LZCOUNT(puVar24)" identifier = (call_expression "LZCOUNT(puVar24)" identifier (argument_list "(puVar24)" ( identifier )))) ;) }) (else_clause "else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }" else (compound_statement "{\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }" { (expression_statement "iVar4 = LZCOUNT(puStack_78) + 0x20;" (assignment_expression "iVar4 = LZCOUNT(puStack_78) + 0x20" identifier = (binary_expression "LZCOUNT(puStack_78) + 0x20" (call_expression "LZCOUNT(puStack_78)" identifier (argument_list "(puStack_78)" ( identifier ))) + number_literal)) ;) }))) (expression_statement "uVar15 = 0x3c - iVar4;" (assignment_expression "uVar15 = 0x3c - iVar4" identifier = (binary_expression "0x3c - iVar4" number_literal - identifier)) ;) (expression_statement "param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));" (assignment_expression "param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f))" identifier = (cast_expression "(undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)puVar24 << 1) << (~uVar15 & 0x1f))" ( (binary_expression "((int)puVar24 << 1) << (~uVar15 & 0x1f)" (parenthesized_expression "((int)puVar24 << 1)" ( (binary_expression "(int)puVar24 << 1" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )) << (parenthesized_expression "(~uVar15 & 0x1f)" ( (binary_expression "~uVar15 & 0x1f" (unary_expression "~uVar15" ~ identifier) & number_literal) ))) )))) ;) (expression_statement "uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);" (assignment_expression "uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f)" identifier = (binary_expression "(uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f)" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(uint)puStack_78 >> (uVar15 & 0x1f)" (cast_expression "(uint)puStack_78" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar15 & 0x1f)" ( (binary_expression "uVar15 & 0x1f" identifier & number_literal) ))))) ;) (if_statement "if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }" if (parenthesized_expression "((uVar15 & 0x20) != 0)" ( (binary_expression "(uVar15 & 0x20) != 0" (parenthesized_expression "(uVar15 & 0x20)" ( (binary_expression "uVar15 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }" { (expression_statement "uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);" (assignment_expression "uVar16 = (uint)puVar24 >> (uVar15 & 0x1f)" identifier = (binary_expression "(uint)puVar24 >> (uVar15 & 0x1f)" (cast_expression "(uint)puVar24" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar15 & 0x1f)" ( (binary_expression "uVar15 & 0x1f" identifier & number_literal) )))) ;) })) (expression_statement "puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);" (assignment_expression "puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e)" identifier = (cast_expression "(undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar15 * 10 & 0xffff) + 0x1e)" ( (binary_expression "(uVar15 * 10 & 0xffff) + 0x1e" (parenthesized_expression "(uVar15 * 10 & 0xffff)" ( (binary_expression "uVar15 * 10 & 0xffff" (binary_expression "uVar15 * 10" identifier * number_literal) & number_literal) )) + number_literal) )))) ;) (expression_statement "uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);" (assignment_expression "uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" identifier = (pointer_expression "*(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" * (cast_expression "(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" ( (binary_expression "(uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20" (binary_expression "(uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4)" (binary_expression "(uVar16 & 7) * 2" (parenthesized_expression "(uVar16 & 7)" ( (binary_expression "uVar16 & 7" identifier & number_literal) )) * number_literal) + (pointer_expression "*(int *)(puStack_80 + -0x7fb4)" * (cast_expression "(int *)(puStack_80 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_80 + -0x7fb4)" ( (binary_expression "puStack_80 + -0x7fb4" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "puVar18 = (undefined1 *)(uint)uVar1;" (assignment_expression "puVar18 = (undefined1 *)(uint)uVar1" identifier = (cast_expression "(undefined1 *)(uint)uVar1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)uVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "sVar13 = (short)(uVar15 * 10) + 0x28;" (assignment_expression "sVar13 = (short)(uVar15 * 10) + 0x28" identifier = (binary_expression "(short)(uVar15 * 10) + 0x28" (cast_expression "(short)(uVar15 * 10)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(uVar15 * 10)" ( (binary_expression "uVar15 * 10" identifier * number_literal) ))) + number_literal)) ;) (expression_statement "puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);" (assignment_expression "puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" identifier = (cast_expression "(undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" ( (binary_expression "(int)(short)(uVar1 + (short)puVar24) < (int)puVar21" (cast_expression "(int)(short)(uVar1 + (short)puVar24)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(short)(uVar1 + (short)puVar24)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(uVar1 + (short)puVar24)" ( (binary_expression "uVar1 + (short)puVar24" identifier + (cast_expression "(short)puVar24" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) )))) < (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }" if (parenthesized_expression "(puVar21 != (undefined1 *)0x0)" ( (binary_expression "puVar21 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }" { (labeled_statement "LAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;" statement_identifier : (expression_statement "sVar13 = (short)puVar18 + sVar13 + -10;" (assignment_expression "sVar13 = (short)puVar18 + sVar13 + -10" identifier = (binary_expression "(short)puVar18 + sVar13 + -10" (binary_expression "(short)puVar18 + sVar13" (cast_expression "(short)puVar18" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + identifier) + number_literal)) ;)) (expression_statement "uVar16 = *(uint *)(puVar20 + 8);" (assignment_expression "uVar16 = *(uint *)(puVar20 + 8)" identifier = (pointer_expression "*(uint *)(puVar20 + 8)" * (cast_expression "(uint *)(puVar20 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;" statement_identifier : (expression_statement "*(short *)(puVar20 + 6) = sVar13;" (assignment_expression "*(short *)(puVar20 + 6) = sVar13" (pointer_expression "*(short *)(puVar20 + 6)" * (cast_expression "(short *)(puVar20 + 6)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 6)" ( (binary_expression "puVar20 + 6" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(uint *)(puVar20 + 8) = uVar16 | 0x4000;" (assignment_expression "*(uint *)(puVar20 + 8) = uVar16 | 0x4000" (pointer_expression "*(uint *)(puVar20 + 8)" * (cast_expression "(uint *)(puVar20 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) )))) = (binary_expression "uVar16 | 0x4000" identifier | number_literal)) ;) })) }))) })))) }))) (expression_statement "puStack_b8 = puVar17;" (assignment_expression "puStack_b8 = puVar17" identifier = identifier) ;) (expression_statement "unaff_s7 = param_3;" (assignment_expression "unaff_s7 = param_3" identifier = identifier) ;) (if_statement "if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }" if (parenthesized_expression "(*(int *)(unaff_s4 + 0x10) != 0)" ( (binary_expression "*(int *)(unaff_s4 + 0x10) != 0" (pointer_expression "*(int *)(unaff_s4 + 0x10)" * (cast_expression "(int *)(unaff_s4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + 0x10)" ( (binary_expression "unaff_s4 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }" { (expression_statement "unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;" (assignment_expression "unaff_s8 = *(int *)(puVar17 + 0x2c) + 1" identifier = (binary_expression "*(int *)(puVar17 + 0x2c) + 1" (pointer_expression "*(int *)(puVar17 + 0x2c)" * (cast_expression "(int *)(puVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2c)" ( (binary_expression "puVar17 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);" (assignment_expression "unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2)" identifier = (cast_expression "(undefined1 *)(*(int *)(puVar17 + 0x2c) + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x2c) + 2)" ( (binary_expression "*(int *)(puVar17 + 0x2c) + 2" (pointer_expression "*(int *)(puVar17 + 0x2c)" * (cast_expression "(int *)(puVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2c)" ( (binary_expression "puVar17 + 0x2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(int *)(puVar20 + 0x10) = unaff_s8;" (assignment_expression "*(int *)(puVar20 + 0x10) = unaff_s8" (pointer_expression "*(int *)(puVar20 + 0x10)" * (cast_expression "(int *)(puVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar17 + 0x2c) = unaff_s7;" (assignment_expression "*(undefined1 **)(puVar17 + 0x2c) = unaff_s7" (pointer_expression "*(undefined1 **)(puVar17 + 0x2c)" * (cast_expression "(undefined1 **)(puVar17 + 0x2c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x2c)" ( (binary_expression "puVar17 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);" (call_expression "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8)" identifier (argument_list "(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8)" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s4 + 0x10)" * (cast_expression "(undefined4 *)(unaff_s4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + 0x10)" ( (binary_expression "unaff_s4 + 0x10" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) (expression_statement "(*unaff_s5)(unaff_s6,0xf,unaff_s8,0);" (call_expression "(*unaff_s5)(unaff_s6,0xf,unaff_s8,0)" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "(unaff_s6,0xf,unaff_s8,0)" ( identifier , number_literal , identifier , number_literal ))) ;) (expression_statement "puVar21 = (undefined1 *)0x98;" (assignment_expression "puVar21 = (undefined1 *)0x98" identifier = (cast_expression "(undefined1 *)0x98" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" identifier = identifier) ;) (expression_statement "puVar24 = param_1;" (assignment_expression "puVar24 = param_1" identifier = identifier) ;) (expression_statement "param_4 = unaff_s7;" (assignment_expression "param_4 = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_88 = unaff_s8;" (assignment_expression "iStack_88 = unaff_s8" identifier = identifier) ;) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "()" ( ))) ;) })) })) (if_statement "if (iStack_74 == *piVar26) {\n    return;\n  }" if (parenthesized_expression "(iStack_74 == *piVar26)" ( (binary_expression "iStack_74 == *piVar26" identifier == (pointer_expression "*piVar26" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar33 = *(code **)(puStack_80 + -0x7ba0);" (assignment_expression "pcVar33 = *(code **)(puStack_80 + -0x7ba0)" identifier = (pointer_expression "*(code **)(puStack_80 + -0x7ba0)" * (cast_expression "(code **)(puStack_80 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_80 + -0x7ba0)" ( (binary_expression "puStack_80 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = FUN_000c082c;" (assignment_expression "pcVar36 = FUN_000c082c" identifier = identifier) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar30 = *(int **)(pcVar33 + 0x9b200);" (assignment_expression "piVar30 = *(int **)(pcVar33 + 0x9b200)" identifier = (pointer_expression "*(int **)(pcVar33 + 0x9b200)" * (cast_expression "(int **)(pcVar33 + 0x9b200)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x9b200)" ( (binary_expression "pcVar33 + 0x9b200" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(puVar21 + 0x44);" (assignment_expression "iVar4 = *(int *)(puVar21 + 0x44)" identifier = (pointer_expression "*(int *)(puVar21 + 0x44)" * (cast_expression "(int *)(puVar21 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x44)" ( (binary_expression "puVar21 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "iStack_c4 = *piVar30;" (assignment_expression "iStack_c4 = *piVar30" identifier = (pointer_expression "*piVar30" * identifier)) ;) (expression_statement "uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;" (assignment_expression "uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00" identifier = (binary_expression "*(uint *)(iVar4 + 0xc) & 0xffff00" (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puStack_bc = param_1;" (assignment_expression "puStack_bc = param_1" identifier = identifier) ;) (expression_statement "piStack_b4 = piVar26;" (assignment_expression "piStack_b4 = piVar26" identifier = identifier) ;) (expression_statement "iStack_b0 = unaff_s4;" (assignment_expression "iStack_b0 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStack_ac = unaff_s5;" (assignment_expression "pcStack_ac = unaff_s5" identifier = identifier) ;) (expression_statement "puStack_a8 = unaff_s6;" (assignment_expression "puStack_a8 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_a4 = unaff_s7;" (assignment_expression "puStack_a4 = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_a0 = unaff_s8;" (assignment_expression "iStack_a0 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_9c = pcVar36;" (assignment_expression "pcStack_9c = pcVar36" identifier = identifier) ;) (expression_statement "puStack_8c = param_4;" (assignment_expression "puStack_8c = param_4" identifier = identifier) ;) (if_statement "if (*(char *)(iVar4 + 0xc) == 'L') {\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" if (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'L')" ( (binary_expression "*(char *)(iVar4 + 0xc) == 'L'" (pointer_expression "*(char *)(iVar4 + 0xc)" * (cast_expression "(char *)(iVar4 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) == (char_literal "'L'" ' character ')) )) (compound_statement "{\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" { (if_statement "if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;" if (parenthesized_expression "((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))" ( (binary_expression "(uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0)" (parenthesized_expression "(uVar16 == 0x575200)" ( (binary_expression "uVar16 == 0x575200" identifier == number_literal) )) && (parenthesized_expression "(iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0)" ( (comma_expression "iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0" (assignment_expression "iVar22 = *(int *)(pcVar33 + 0x9ae68)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" * (cast_expression "(int *)(pcVar33 + 0x9ae68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae68)" ( (binary_expression "pcVar33 + 0x9ae68" identifier + number_literal) ))))) , (binary_expression "*(int *)(iVar4 + 8) != 0" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) != number_literal)) ))) )) (goto_statement "goto LAB_000c08b4;" goto statement_identifier ;)) (expression_statement "piVar26 = *(int **)(puVar18 + 8);" (assignment_expression "piVar26 = *(int **)(puVar18 + 8)" identifier = (pointer_expression "*(int **)(puVar18 + 8)" * (cast_expression "(int **)(puVar18 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (if_statement "if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }" if (parenthesized_expression "(piVar26 == (int *)0x0)" ( (binary_expression "piVar26 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }" { (expression_statement "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);" (assignment_expression "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" identifier = (cast_expression "(int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x371c" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18)" ( identifier ))))) ;) })) (expression_statement "iVar31 = *(int *)(puVar18 + 0x28);" (assignment_expression "iVar31 = *(int *)(puVar18 + 0x28)" identifier = (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(puVar18 + 0x2c);" (assignment_expression "iVar22 = *(int *)(puVar18 + 0x2c)" identifier = (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar23 = *(int *)(pcVar33 + 0x9aee8);" (assignment_expression "iVar23 = *(int *)(pcVar33 + 0x9aee8)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iVar22 + 3;" (assignment_expression "iVar6 = iVar22 + 3" identifier = (binary_expression "iVar22 + 3" identifier + number_literal)) ;) (expression_statement "iVar34 = *(int *)(puVar18 + 0x38) + -2;" (assignment_expression "iVar34 = *(int *)(puVar18 + 0x38) + -2" identifier = (binary_expression "*(int *)(puVar18 + 0x38) + -2" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 0x28) = iVar31 + 2;" (assignment_expression "*(int *)(puVar18 + 0x28) = iVar31 + 2" (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) )))) = (binary_expression "iVar31 + 2" identifier + number_literal)) ;) (expression_statement "iVar25 = *(int *)(puVar18 + 0x38) + -1;" (assignment_expression "iVar25 = *(int *)(puVar18 + 0x38) + -1" identifier = (binary_expression "*(int *)(puVar18 + 0x38) + -1" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar28 = iVar22 + 1;" (assignment_expression "iVar28 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 0x2c) = iVar6;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar6" (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + 0x38) = iVar34;" (assignment_expression "*(int *)(puVar18 + 0x38) = iVar34" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar22 = iVar22 + 2;" (assignment_expression "iVar22 = iVar22 + 2" identifier = (binary_expression "iVar22 + 2" identifier + number_literal)) ;) (expression_statement "iVar12 = iVar31 + 1;" (assignment_expression "iVar12 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) (expression_statement "uStack_c8 = 0;" (assignment_expression "uStack_c8 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);" (call_expression "(*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8)" (parenthesized_expression "(*(code *)(iVar23 + -0x7e94))" ( (pointer_expression "*(code *)(iVar23 + -0x7e94)" * (cast_expression "(code *)(iVar23 + -0x7e94)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e94)" ( (binary_expression "iVar23 + -0x7e94" identifier + number_literal) )))) )) (argument_list "(puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8)" ( identifier , (binary_expression "puVar21 + 0x20" identifier + number_literal) , (pointer_expression "*(undefined4 *)(puVar21 + 0x44)" * (cast_expression "(undefined4 *)(puVar21 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x44)" ( (binary_expression "puVar21 + 0x44" identifier + number_literal) )))) , identifier , identifier , identifier , (pointer_expression "&uStack_c8" & identifier) ))) ;) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);" (assignment_expression "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0)" identifier = (call_expression "(*pcVar36)(piVar26,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,0,0)" ( identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3c14)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3c14" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar35)(piVar26,iVar25);" (call_expression "(*pcVar35)(piVar26,iVar25)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(piVar26,iVar25)" ( identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);" (call_expression "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x11,0,piVar26[0x1b] + 3,0)" ( identifier , number_literal , number_literal , (binary_expression "piVar26[0x1b] + 3" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);" (call_expression "(*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);" (call_expression "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal ))) ;) (if_statement "if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x10) != 0" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }" { (expression_statement "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);" (call_expression "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22)" identifier (argument_list "(puVar18,*(int *)(iVar4 + 0x10),iVar22)" ( identifier , (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2920" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar22,0)" ( identifier , identifier , number_literal ))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x14) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x14) != 0" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }" { (expression_statement "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);" (call_expression "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6)" identifier (argument_list "(puVar18,*(int *)(iVar4 + 0x14),iVar6)" ( identifier , (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2920" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar6,1)" ( identifier , identifier , number_literal ))) ;) (if_statement "if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }" if (parenthesized_expression "((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S'))" ( (binary_expression "(*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')" (parenthesized_expression "(*(int *)(iVar4 + 0x14) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x14) != 0" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(char *)(iVar4 + 0xd) == 'S')" ( (binary_expression "*(char *)(iVar4 + 0xd) == 'S'" (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) )))) == (char_literal "'S'" ' character ')) ))) )) (compound_statement "{\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }" { (expression_statement "(*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);" (call_expression "(*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6)" ( identifier , number_literal , identifier , (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);" (call_expression "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x4e,uStack_c8,iVar22,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);" (call_expression "(*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x61,iVar22,iVar6,iVar6)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) })) })) (if_statement "if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }" if (parenthesized_expression "((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U'))" ( (binary_expression "(*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')" (parenthesized_expression "(*(int *)(iVar4 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x10) != 0" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'U')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'U'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'U'" ' character ')) ))) )) (compound_statement "{\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }" { (expression_statement "(*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);" (call_expression "(*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6)" ( identifier , number_literal , identifier , (binary_expression "piVar26[0x1b] + 3" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);" (call_expression "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x4e,uStack_c8,iVar22,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x4e,uStack_c8,iVar6,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) })) (expression_statement "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);" (assignment_expression "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" identifier = (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2e00" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4)" ( identifier , identifier )))) ;) (expression_statement "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);" (call_expression "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x24,iVar31,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar31,iVar34,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,iVar31,iVar34,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }" if (parenthesized_expression "(0 < piVar26[0x1b])" ( (binary_expression "0 < piVar26[0x1b]" number_literal < (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) )) (compound_statement "{\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }" { (expression_statement "*(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;" (assignment_expression "*(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1" (pointer_expression "*(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12)" * (cast_expression "(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12)" ( (binary_expression "piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12" (binary_expression "piVar26[0x1a] + piVar26[0x1b] * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "piVar26[0x1b] * 0x14" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) * number_literal)) + number_literal) )))) = number_literal) ;) })) (expression_statement "(*pcVar36)(piVar26,0x24,iVar12,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar12,iVar34,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,iVar12,iVar34,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "iVar23 = piVar26[0x1b];" (assignment_expression "iVar23 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }" if (parenthesized_expression "(0 < iVar23)" ( (binary_expression "0 < iVar23" number_literal < identifier) )) (compound_statement "{\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }" { (expression_statement "*(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;" (assignment_expression "*(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1" (pointer_expression "*(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12)" * (cast_expression "(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iVar23 * 0x14 + -0x12)" ( (binary_expression "piVar26[0x1a] + iVar23 * 0x14 + -0x12" (binary_expression "piVar26[0x1a] + iVar23 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar23 * 0x14" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "iVar23 = piVar26[0x1b];" (assignment_expression "iVar23 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) })) (if_statement "if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'U')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'U'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'U'" ' character ')) )) (compound_statement "{\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }" { (expression_statement "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);" (assignment_expression "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1)" identifier = (call_expression "(*pcVar36)(piVar26,0x2f,iVar6,0,1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x2f,iVar6,0,1)" ( identifier , number_literal , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar25 = piVar26[0x1b];" (assignment_expression "iVar25 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) }) (else_clause "else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }" else (compound_statement "{\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }" { (expression_statement "iStack_e8 = 0;" (assignment_expression "iStack_e8 = 0" identifier = number_literal) ;) (expression_statement "iVar25 = iVar23;" (assignment_expression "iVar25 = iVar23" identifier = identifier) ;) }))) (expression_statement "(*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);" (call_expression "(*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,iVar12,iVar25 + 2,0)" ( identifier , number_literal , identifier , (binary_expression "iVar25 + 2" identifier + number_literal) , number_literal ))) ;) (expression_statement "iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);" (assignment_expression "iVar25 = (*pcVar36)(piVar26,0xb,0,0,0)" identifier = (call_expression "(*pcVar36)(piVar26,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,0,0)" ( identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "iVar10 = *(int *)(pcVar33 + 0x9aee8);" (assignment_expression "iVar10 = *(int *)(pcVar33 + 0x9aee8)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);" (call_expression "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(iVar10 + -0x7af4))" ( (pointer_expression "*(code *)(iVar10 + -0x7af4)" * (cast_expression "(code *)(iVar10 + -0x7af4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x7af4)" ( (binary_expression "iVar10 + -0x7af4" identifier + number_literal) )))) )) (argument_list "(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" ( identifier , identifier , identifier , number_literal , identifier , identifier ))) ;) (if_statement "if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'W')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'W'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'W'" ' character ')) )) (compound_statement "{\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }" { (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar23,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar23,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,iVar23,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "iVar23 = piVar26[0x1b];" (assignment_expression "iVar23 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }" if (parenthesized_expression "(iVar25 < 0)" ( (binary_expression "iVar25 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar25 = iVar23 + -1;\n      }" { (expression_statement "iVar25 = iVar23 + -1;" (assignment_expression "iVar25 = iVar23 + -1" identifier = (binary_expression "iVar23 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" { (expression_statement "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23" (pointer_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" * (cast_expression "(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iVar25 * 0x14 + 8)" ( (binary_expression "piVar26[0x1a] + iVar25 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar25 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar25 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" identifier = (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" else (compound_statement "{\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" identifier = (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) ))))) ;) }))) }) (else_clause "else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }" else (compound_statement "{\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }" { (expression_statement "iVar12 = piVar26[0x1b];" (assignment_expression "iVar12 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }" if (parenthesized_expression "(iVar25 < 0)" ( (binary_expression "iVar25 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar25 = iVar12 + -1;\n      }" { (expression_statement "iVar25 = iVar12 + -1;" (assignment_expression "iVar25 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }" { (expression_statement "iVar25 = piVar26[0x1a] + iVar25 * 0x14;" (assignment_expression "iVar25 = piVar26[0x1a] + iVar25 * 0x14" identifier = (binary_expression "piVar26[0x1a] + iVar25 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar25 * 0x14" identifier * number_literal))) ;) }) (else_clause "else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }" else (compound_statement "{\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }" { (expression_statement "iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;" (assignment_expression "iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514" identifier = (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x4514" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "*(int *)(iVar25 + 8) = iVar12;" (assignment_expression "*(int *)(iVar25 + 8) = iVar12" (pointer_expression "*(int *)(iVar25 + 8)" * (cast_expression "(int *)(iVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 8)" ( (binary_expression "iVar25 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" identifier = (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) ))))) ;) (if_statement "if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }" if (parenthesized_expression "(cVar14 == 'U')" ( (binary_expression "cVar14 == 'U'" identifier == (char_literal "'U'" ' character ')) )) (compound_statement "{\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }" { (expression_statement "iVar25 = iVar12 + -1;" (assignment_expression "iVar25 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (if_statement "if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }" if (parenthesized_expression "(-1 < iStack_e8)" ( (binary_expression "-1 < iStack_e8" number_literal < identifier) )) (compound_statement "{\n          iVar25 = iStack_e8;\n        }" { (expression_statement "iVar25 = iStack_e8;" (assignment_expression "iVar25 = iStack_e8" identifier = identifier) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" { (expression_statement "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12" (pointer_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" * (cast_expression "(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iVar25 * 0x14 + 8)" ( (binary_expression "piVar26[0x1a] + iVar25 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar25 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar25 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" identifier = (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" else (compound_statement "{\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" identifier = (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) ))))) ;) }))) })) }))) (if_statement "if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }" if (parenthesized_expression "(cVar14 == 'S')" ( (binary_expression "cVar14 == 'S'" identifier == (char_literal "'S'" ' character ')) )) (compound_statement "{\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }" { (expression_statement "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);" (assignment_expression "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1)" identifier = (call_expression "(*pcVar36)(piVar26,0x2f,iVar6,0,1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x2f,iVar6,0,1)" ( identifier , number_literal , identifier , number_literal , number_literal )))) ;) })) (if_statement "if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0xd) == 'S')" ( (binary_expression "*(char *)(iVar4 + 0xd) == 'S'" (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) )))) == (char_literal "'S'" ' character ')) )) (compound_statement "{\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }" { (expression_statement "iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);" (assignment_expression "iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1)" identifier = (call_expression "(*pcVar36)(piVar26,0x2f,iVar22,0,1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x2f,iVar22,0,1)" ( identifier , number_literal , identifier , number_literal , number_literal )))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2524" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,puStack_8c,iStack_88)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar34,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,iVar34,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }" if (parenthesized_expression "(uVar16 == 0x53)" ( (binary_expression "uVar16 == 0x53" identifier == number_literal) )) (compound_statement "{\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }" { (expression_statement "iVar12 = piVar26[0x1b];" (assignment_expression "iVar12 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar6 = iVar12 + -1;\n        }" { (expression_statement "iVar6 = iVar12 + -1;" (assignment_expression "iVar6 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) })) (goto_statement "goto LAB_000c1d20;" goto statement_identifier ;) })) }) (else_clause "else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }" else (compound_statement "{\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }" { (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2524" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,puStack_8c,iStack_88)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar34,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,iVar34,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }" if (parenthesized_expression "(uVar16 == 0x53)" ( (binary_expression "uVar16 == 0x53" identifier == number_literal) )) (compound_statement "{\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }" { (expression_statement "iVar12 = piVar26[0x1b];" (assignment_expression "iVar12 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" statement_identifier : (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" { (expression_statement "*(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12" (pointer_expression "*(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8)" * (cast_expression "(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iVar6 * 0x14 + 8)" ( (binary_expression "piVar26[0x1a] + iVar6 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar6 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar6 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" else (compound_statement "{\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) })))) })) }))) (if_statement "if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }" if (parenthesized_expression "((uVar16 - 0x52 < 2) || (uVar16 == 0x55))" ( (binary_expression "(uVar16 - 0x52 < 2) || (uVar16 == 0x55)" (parenthesized_expression "(uVar16 - 0x52 < 2)" ( (binary_expression "uVar16 - 0x52 < 2" (binary_expression "uVar16 - 0x52" identifier - number_literal) < number_literal) )) || (parenthesized_expression "(uVar16 == 0x55)" ( (binary_expression "uVar16 == 0x55" identifier == number_literal) ))) )) (compound_statement "{\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }" { (expression_statement "iVar6 = *(int *)(puVar18 + 0x38) + -1;" (assignment_expression "iVar6 = *(int *)(puVar18 + 0x38) + -1" identifier = (binary_expression "*(int *)(puVar18 + 0x38) + -1" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 0x38) = iVar6;" (assignment_expression "*(int *)(puVar18 + 0x38) = iVar6" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xd);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xd)" identifier = (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }" if (parenthesized_expression "(cVar14 == 'U')" ( (binary_expression "cVar14 == 'U'" identifier == (char_literal "'U'" ' character ')) )) (compound_statement "{\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }" { (expression_statement "(*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);" (call_expression "(*pcVar36)(piVar26,0x2f,iVar22,iVar6,1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x2f,iVar22,iVar6,1)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xd);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xd)" identifier = (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) })) (if_statement "if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }" if (parenthesized_expression "(cVar14 == 'S')" ( (binary_expression "cVar14 == 'S'" identifier == (char_literal "'S'" ' character ')) )) (compound_statement "{\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }" { (expression_statement "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,iVar31,piVar26[0x1b] + 2,0)" ( identifier , number_literal , identifier , (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar6,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,iVar6,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) }) (else_clause "else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }" else (compound_statement "{\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }" { (expression_statement "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);" (call_expression "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,iVar31,piVar26[0x1b] + 1,0)" ( identifier , number_literal , identifier , (binary_expression "piVar26[0x1b] + 1" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) }))) (expression_statement "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);" (call_expression "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(iVar10 + -0x7af4))" ( (pointer_expression "*(code *)(iVar10 + -0x7af4)" * (cast_expression "(code *)(iVar10 + -0x7af4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x7af4)" ( (binary_expression "iVar10 + -0x7af4" identifier + number_literal) )))) )) (argument_list "(puVar18,iVar4,iVar31,1,uVar7,uStack_c8)" ( identifier , identifier , identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcVar35)(piVar26,iVar6);" (call_expression "(*pcVar35)(piVar26,iVar6)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(piVar26,iVar6)" ( identifier , identifier ))) ;) })) (if_statement "if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'S')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'S'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'S'" ' character ')) )) (compound_statement "{\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }" { (expression_statement "iVar22 = piVar26[0x1b];" (assignment_expression "iVar22 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }" if (parenthesized_expression "(iStack_e8 < 0)" ( (binary_expression "iStack_e8 < 0" identifier < number_literal) )) (compound_statement "{\n        iStack_e8 = iVar22 + -1;\n      }" { (expression_statement "iStack_e8 = iVar22 + -1;" (assignment_expression "iStack_e8 = iVar22 + -1" identifier = (binary_expression "iVar22 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }" { (expression_statement "*(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;" (assignment_expression "*(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22" (pointer_expression "*(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8)" * (cast_expression "(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iStack_e8 * 0x14 + 8)" ( (binary_expression "piVar26[0x1a] + iStack_e8 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iStack_e8 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iStack_e8 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }" else (compound_statement "{\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) })) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar23,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar23,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,iVar23,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "(*pcVar35)(piVar26,iVar34);" (call_expression "(*pcVar35)(piVar26,iVar34)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(piVar26,iVar34)" ( identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);" (call_expression "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal , number_literal ))) ;) }) (else_clause "else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" else (compound_statement "{\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" { (expression_statement "iVar22 = *(int *)(pcVar33 + 0x9ae68);" (assignment_expression "iVar22 = *(int *)(pcVar33 + 0x9ae68)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" * (cast_expression "(int *)(pcVar33 + 0x9ae68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae68)" ( (binary_expression "pcVar33 + 0x9ae68" identifier + number_literal) ))))) ;) (if_statement "if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }" if (parenthesized_expression "(uVar16 != 0x525700)" ( (binary_expression "uVar16 != 0x525700" identifier != number_literal) )) (compound_statement "{\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }" { (labeled_statement "LAB_000c08b4:\n      iVar28 = iVar4;" statement_identifier : (expression_statement "iVar28 = iVar4;" (assignment_expression "iVar28 = iVar4" identifier = identifier) ;)) (do_statement "do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);" do (compound_statement "{\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      }" { (if_statement "if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;" if (parenthesized_expression "(((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c))))" ( (binary_expression "((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))" (parenthesized_expression "((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00))" ( (binary_expression "(((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)" (parenthesized_expression "(((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4))" ( (binary_expression "((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)" (parenthesized_expression "((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0)" ( (binary_expression "(*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0" (parenthesized_expression "(*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000)" ( (binary_expression "*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000" (pointer_expression "*(uint *)(*(int *)(iVar28 + 0x20) + 4)" * (cast_expression "(uint *)(*(int *)(iVar28 + 0x20) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar28 + 0x20) + 4)" ( (binary_expression "*(int *)(iVar28 + 0x20) + 4" (pointer_expression "*(int *)(iVar28 + 0x20)" * (cast_expression "(int *)(iVar28 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x20)" ( (binary_expression "iVar28 + 0x20" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)" ( (comma_expression "iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4" (assignment_expression "iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(iVar28 + 0x20) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar28 + 0x20) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar28 + 0x20) + 0x20)" ( (binary_expression "*(int *)(iVar28 + 0x20) + 0x20" (pointer_expression "*(int *)(iVar28 + 0x20)" * (cast_expression "(int *)(iVar28 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x20)" ( (binary_expression "iVar28 + 0x20" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "iVar6 == iVar22 + -0x7df4" identifier == (binary_expression "iVar22 + -0x7df4" identifier + number_literal))) ))) )) || (parenthesized_expression "(iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)" ( (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00" identifier == (binary_expression "*(int *)(pcVar33 + 0x9ae68) + -0x7e00" (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" * (cast_expression "(int *)(pcVar33 + 0x9ae68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae68)" ( (binary_expression "pcVar33 + 0x9ae68" identifier + number_literal) )))) + number_literal)) ))) )) || (parenthesized_expression "((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))" ( (parenthesized_expression "(iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c))" ( (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)" (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08" identifier == (binary_expression "*(int *)(pcVar33 + 0x9ae68) + -0x7e08" (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" * (cast_expression "(int *)(pcVar33 + 0x9ae68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae68)" ( (binary_expression "pcVar33 + 0x9ae68" identifier + number_literal) )))) + number_literal)) || (parenthesized_expression "(iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)" ( (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c" identifier == (binary_expression "*(int *)(pcVar33 + 0x9ae68) + -0x7e0c" (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" * (cast_expression "(int *)(pcVar33 + 0x9ae68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae68)" ( (binary_expression "pcVar33 + 0x9ae68" identifier + number_literal) )))) + number_literal)) ))) )) ))) )) (goto_statement "goto LAB_000c0c60;" goto statement_identifier ;)) (expression_statement "iVar28 = *(int *)(iVar28 + 0x18);" (assignment_expression "iVar28 = *(int *)(iVar28 + 0x18)" identifier = (pointer_expression "*(int *)(iVar28 + 0x18)" * (cast_expression "(int *)(iVar28 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x18)" ( (binary_expression "iVar28 + 0x18" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) ;) (expression_statement "piVar27 = *(int **)(puVar18 + 8);" (assignment_expression "piVar27 = *(int **)(puVar18 + 8)" identifier = (pointer_expression "*(int **)(puVar18 + 8)" * (cast_expression "(int **)(puVar18 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (if_statement "if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }" if (parenthesized_expression "(piVar27 == (int *)0x0)" ( (binary_expression "piVar27 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }" { (expression_statement "piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);" (assignment_expression "piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" identifier = (cast_expression "(int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x371c" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18)" ( identifier ))))) ;) })) (expression_statement "piVar26 = *(int **)(iVar4 + 4);" (assignment_expression "piVar26 = *(int **)(iVar4 + 4)" identifier = (pointer_expression "*(int **)(iVar4 + 4)" * (cast_expression "(int **)(iVar4 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(puVar18 + 0x2c) + 1;" (assignment_expression "iVar6 = *(int *)(puVar18 + 0x2c) + 1" identifier = (binary_expression "*(int *)(puVar18 + 0x2c) + 1" (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);" (assignment_expression "uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30)" * (cast_expression "(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x20) + 0x30)" ( (binary_expression "*(int *)(puVar21 + 0x20) + 0x30" (pointer_expression "*(int *)(puVar21 + 0x20)" * (cast_expression "(int *)(puVar21 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x20)" ( (binary_expression "puVar21 + 0x20" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);" (assignment_expression "iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" identifier = (cast_expression "(int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" * (cast_expression "(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" ( (binary_expression "*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a" (pointer_expression "*(int *)(*(int *)(puVar21 + 0x20) + 0x18)" * (cast_expression "(int *)(*(int *)(puVar21 + 0x20) + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x20) + 0x18)" ( (binary_expression "*(int *)(puVar21 + 0x20) + 0x18" (pointer_expression "*(int *)(puVar21 + 0x20)" * (cast_expression "(int *)(puVar21 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x20)" ( (binary_expression "puVar21 + 0x20" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))))) ;) (expression_statement "iVar22 = iVar31 + iVar6;" (assignment_expression "iVar22 = iVar31 + iVar6" identifier = (binary_expression "iVar31 + iVar6" identifier + identifier)) ;) (expression_statement "iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);" (assignment_expression "iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c)" identifier = (binary_expression "iVar31 + 2 + *(int *)(puVar18 + 0x2c)" (binary_expression "iVar31 + 2" identifier + number_literal) + (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))))) ;) (if_statement "if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }" if (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'W')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'W'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'W'" ' character ')) )) (compound_statement "{\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }" { (expression_statement "*(int *)(puVar18 + 0x2c) = iVar28;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar28" (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar29 = (int *)0x0;" (assignment_expression "piVar29 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < iVar31) goto LAB_000c0980;" if (parenthesized_expression "(0 < iVar31)" ( (binary_expression "0 < iVar31" number_literal < identifier) )) (goto_statement "goto LAB_000c0980;" goto statement_identifier ;)) (if_statement "if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }" if (parenthesized_expression "(piVar26 != (int *)0x0)" ( (binary_expression "piVar26 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }" { (expression_statement "iStack_e8 = *piVar26;" (assignment_expression "iStack_e8 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000c09d4;" goto statement_identifier ;) })) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }" else (compound_statement "{\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }" { (expression_statement "piVar29 = *(int **)(iVar4 + 8);" (assignment_expression "piVar29 = *(int **)(iVar4 + 8)" identifier = (pointer_expression "*(int **)(iVar4 + 8)" * (cast_expression "(int **)(iVar4 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + 0x2c) = iVar28;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar28" (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }" if (parenthesized_expression "(iVar31 < 1)" ( (binary_expression "iVar31 < 1" identifier < number_literal) )) (compound_statement "{\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }" { (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }" else (compound_statement "{\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }" { (labeled_statement "LAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" statement_identifier : (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) (do_statement "do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);" do (compound_statement "{\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          }" { (expression_statement "iVar34 = iVar28 + 1;" (assignment_expression "iVar34 = iVar28 + 1" identifier = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);" (call_expression "(*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28)" ( identifier , number_literal , identifier , identifier , (binary_expression "iVar6 + iVar28" identifier + identifier) ))) ;) (expression_statement "iVar28 = iVar34;" (assignment_expression "iVar28 = iVar34" identifier = identifier) ;) }) while (parenthesized_expression "(iVar34 < iVar31)" ( (binary_expression "iVar34 < iVar31" identifier < identifier) )) ;) }))) (if_statement "if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }" if (parenthesized_expression "(piVar26 == (int *)0x0)" ( (binary_expression "piVar26 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }" { (if_statement "if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }" if (parenthesized_expression "(piVar29 == (int *)0x0)" ( (binary_expression "piVar29 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }" { (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000c0b50;" goto statement_identifier ;) })) (expression_statement "iVar28 = *piVar29;" (assignment_expression "iVar28 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "iStack_f8 = iVar28;" (assignment_expression "iStack_f8 = iVar28" identifier = identifier) ;) (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }" if (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" ( (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" * (cast_expression "(char *)(iVar4 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) == (char_literal "'V'" ' character ')) )) (compound_statement "{\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }" { (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (expression_statement "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);" (assignment_expression "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar34 = *(int *)(iVar4 + 0x38);" (assignment_expression "iVar34 = *(int *)(iVar4 + 0x38)" identifier = (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);" (assignment_expression "iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40)" identifier = (binary_expression "iVar6 + *(int *)(iVar4 + 0x40)" identifier + (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))))) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);" (assignment_expression "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" * (cast_expression "(int *)(pcVar33 + 0x9ae94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae94)" ( (binary_expression "pcVar33 + 0x9ae94" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000c1e74;" goto statement_identifier ;) })) (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');" (call_expression "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" ( identifier , identifier , (binary_expression "*(char *)(iVar4 + 0xd) == 'R'" (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) )))) == (char_literal "'R'" ' character ')) ))) ;) (expression_statement "iVar31 = piVar27[0x1b];" (assignment_expression "iVar31 = piVar27[0x1b]" identifier = (subscript_expression "piVar27[0x1b]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }" else (compound_statement "{\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }" { (expression_statement "iStack_e8 = *piVar26;" (assignment_expression "iStack_e8 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (if_statement "if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }" if (parenthesized_expression "(piVar29 == (int *)0x0)" ( (binary_expression "piVar29 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }" { (labeled_statement "LAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);" statement_identifier : (expression_statement "iVar28 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar28 = *(int *)(iVar4 + 0x40)" identifier = (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) ))))) ;)) (expression_statement "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);" (assignment_expression "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0)" identifier = (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,piVar26,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" identifier = (call_expression "(*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" ( identifier , number_literal , (binary_expression "iVar6 + iVar28" identifier + identifier) , (pointer_expression "*(undefined4 *)(iVar4 + 0x38)" * (cast_expression "(undefined4 *)(iVar4 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" * (cast_expression "(int *)(pcVar33 + 0x9ae94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae94)" ( (binary_expression "pcVar33 + 0x9ae94" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar27,uVar7,0xfffffff7)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" identifier = (call_expression "(*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" ( identifier , number_literal , (binary_expression "iVar28 + 2" identifier + number_literal) , number_literal , (binary_expression "iVar28 + 2" identifier + number_literal) )))) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,1);" (call_expression "(*pcVar35)(puVar18,iVar4,1)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iStack_f8 = iStack_e8;" (assignment_expression "iStack_f8 = iStack_e8" identifier = identifier) ;) }) (else_clause "else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }" else (compound_statement "{\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }" { (expression_statement "iVar31 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar31 = *(int *)(iVar4 + 0x40)" identifier = (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);" (assignment_expression "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar28 = *piVar29;" (assignment_expression "iVar28 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);" (assignment_expression "uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0)" identifier = (call_expression "(*pcStack_e4)(puVar18,piVar26,0,0)" (parenthesized_expression "(*pcStack_e4)" ( (pointer_expression "*pcStack_e4" * identifier) )) (argument_list "(puVar18,piVar26,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;" (assignment_expression "iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" identifier = (call_expression "(*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" ( identifier , number_literal , (binary_expression "iVar6 + iVar31" identifier + identifier) , (pointer_expression "*(undefined4 *)(iVar4 + 0x38)" * (cast_expression "(undefined4 *)(iVar4 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);" (assignment_expression "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" * (cast_expression "(int *)(pcVar33 + 0x9ae94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae94)" ( (binary_expression "pcVar33 + 0x9ae94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcStack_f4)(piVar27,uVar7,0xfffffff7);" (call_expression "(*pcStack_f4)(piVar27,uVar7,0xfffffff7)" (parenthesized_expression "(*pcStack_f4)" ( (pointer_expression "*pcStack_f4" * identifier) )) (argument_list "(piVar27,uVar7,0xfffffff7)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);" (assignment_expression "iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2)" identifier = (call_expression "(*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x10,iVar31 + 2,0,iVar31 + 2)" ( identifier , number_literal , (binary_expression "iVar31 + 2" identifier + number_literal) , number_literal , (binary_expression "iVar31 + 2" identifier + number_literal) )))) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,1);" (call_expression "(*pcVar35)(puVar18,iVar4,1)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);" (assignment_expression "iVar31 = (*pcVar36)(piVar27,0xb,0,0,0)" identifier = (call_expression "(*pcVar36)(piVar27,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0xb,0,0,0)" ( identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "iVar23 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar23 = *(int *)(iVar4 + 0x40)" identifier = (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "iVar34 = *(int *)(iVar4 + 0x38);" (assignment_expression "iVar34 = *(int *)(iVar4 + 0x38)" identifier = (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }" { (expression_statement "iVar25 = piVar27[0x1b];" (assignment_expression "iVar25 = piVar27[0x1b]" identifier = (subscript_expression "piVar27[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n                iVar12 = iVar25 + -1;\n              }" { (expression_statement "iVar12 = iVar25 + -1;" (assignment_expression "iVar12 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }" if (parenthesized_expression "(*(char *)(*piVar27 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar27 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar27 + 0x51)" * (cast_expression "(char *)(*piVar27 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar27 + 0x51)" ( (binary_expression "*piVar27 + 0x51" (pointer_expression "*piVar27" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }" { (expression_statement "*(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;" (assignment_expression "*(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25" (pointer_expression "*(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8)" * (cast_expression "(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x1a] + iVar12 * 0x14 + 8)" ( (binary_expression "piVar27[0x1a] + iVar12 * 0x14 + 8" (binary_expression "piVar27[0x1a] + iVar12 * 0x14" (subscript_expression "piVar27[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar12 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }" else (compound_statement "{\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) })) (expression_statement "iStack_f8 = iStack_e8 + iVar28;" (assignment_expression "iStack_f8 = iStack_e8 + iVar28" identifier = (binary_expression "iStack_e8 + iVar28" identifier + identifier)) ;) (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }" if (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" ( (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" * (cast_expression "(char *)(iVar4 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) == (char_literal "'V'" ' character ')) )) (compound_statement "{\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }" { (expression_statement "iVar34 = iStack_e8 + iVar34;" (assignment_expression "iVar34 = iStack_e8 + iVar34" identifier = (binary_expression "iStack_e8 + iVar34" identifier + identifier)) ;) (expression_statement "iStack_e8 = iVar6 + iVar23 + iStack_e8;" (assignment_expression "iStack_e8 = iVar6 + iVar23 + iStack_e8" identifier = (binary_expression "iVar6 + iVar23 + iStack_e8" (binary_expression "iVar6 + iVar23" identifier + identifier) + identifier)) ;) (labeled_statement "LAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);" statement_identifier : (expression_statement "uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);" (assignment_expression "uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0)" identifier = (call_expression "(*pcStack_e4)(puVar18,piVar29,0,0)" (parenthesized_expression "(*pcStack_e4)" ( (pointer_expression "*pcStack_e4" * identifier) )) (argument_list "(puVar18,piVar29,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;)) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28)" identifier = (call_expression "(*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x57,iStack_e8,iVar34,iVar28)" ( identifier , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "(*pcStack_f4)(piVar27,uVar7,0xfffffff7);" (call_expression "(*pcStack_f4)(piVar27,uVar7,0xfffffff7)" (parenthesized_expression "(*pcStack_f4)" ( (pointer_expression "*pcStack_f4" * identifier) )) (argument_list "(piVar27,uVar7,0xfffffff7)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" identifier = (call_expression "(*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" ( identifier , number_literal , (binary_expression "iVar28 + 2" identifier + number_literal) , number_literal , (binary_expression "iVar28 + 2" identifier + number_literal) )))) ;) }) (else_clause "else {\n              iVar28 = 0;\n            }" else (compound_statement "{\n              iVar28 = 0;\n            }" { (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) }))) (expression_statement "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');" (call_expression "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" ( identifier , identifier , (binary_expression "*(char *)(iVar4 + 0xd) == 'R'" (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) )))) == (char_literal "'R'" ' character ')) ))) ;) (if_statement "if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }" if (parenthesized_expression "(iVar31 != 0)" ( (binary_expression "iVar31 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }" { (expression_statement "iVar34 = piVar27[0x1b];" (assignment_expression "iVar34 = piVar27[0x1b]" identifier = (subscript_expression "piVar27[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }" if (parenthesized_expression "(iVar31 < 0)" ( (binary_expression "iVar31 < 0" identifier < number_literal) )) (compound_statement "{\n                iVar31 = iVar34 + -1;\n              }" { (expression_statement "iVar31 = iVar34 + -1;" (assignment_expression "iVar31 = iVar34 + -1" identifier = (binary_expression "iVar34 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }" if (parenthesized_expression "(*(char *)(*piVar27 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar27 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar27 + 0x51)" * (cast_expression "(char *)(*piVar27 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar27 + 0x51)" ( (binary_expression "*piVar27 + 0x51" (pointer_expression "*piVar27" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }" { (expression_statement "*(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;" (assignment_expression "*(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34" (pointer_expression "*(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8)" * (cast_expression "(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x1a] + iVar31 * 0x14 + 8)" ( (binary_expression "piVar27[0x1a] + iVar31 * 0x14 + 8" (binary_expression "piVar27[0x1a] + iVar31 * 0x14" (subscript_expression "piVar27[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar31 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }" else (compound_statement "{\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) })) }))) (expression_statement "iVar31 = piVar27[0x1b];" (assignment_expression "iVar31 = piVar27[0x1b]" identifier = (subscript_expression "piVar27[0x1b]" identifier [ number_literal ])) ;) }))) (expression_statement "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);" (call_expression "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "iVar31 + 3" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);" (call_expression "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0xc,puStack_8c,iStack_88,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);" (call_expression "(*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "piVar27[0x1b] + -1" (subscript_expression "piVar27[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);" (call_expression "(*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);" (call_expression "(*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1)" ( identifier , number_literal , (binary_expression "iVar6 + *(int *)(iVar4 + 0x40)" identifier + (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(iVar4 + 0x38)" * (cast_expression "(undefined4 *)(iVar4 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) , (binary_expression "iStack_f8 + -1" identifier + number_literal) ))) ;) (if_statement "if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }" { (expression_statement "iVar31 = piVar27[0x1b];" (assignment_expression "iVar31 = piVar27[0x1b]" identifier = (subscript_expression "piVar27[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }" if (parenthesized_expression "(iVar28 < 0)" ( (binary_expression "iVar28 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar28 = iVar31 + -1;\n          }" { (expression_statement "iVar28 = iVar31 + -1;" (assignment_expression "iVar28 = iVar31 + -1" identifier = (binary_expression "iVar31 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }" if (parenthesized_expression "(*(char *)(*piVar27 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar27 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar27 + 0x51)" * (cast_expression "(char *)(*piVar27 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar27 + 0x51)" ( (binary_expression "*piVar27 + 0x51" (pointer_expression "*piVar27" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }" { (expression_statement "*(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;" (assignment_expression "*(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31" (pointer_expression "*(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8)" * (cast_expression "(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x1a] + iVar28 * 0x14 + 8)" ( (binary_expression "piVar27[0x1a] + iVar28 * 0x14 + 8" (binary_expression "piVar27[0x1a] + iVar28 * 0x14" (subscript_expression "piVar27[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar28 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }" else (compound_statement "{\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) })) }))) (labeled_statement "LAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);" statement_identifier : (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7af4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,0xffffffff,0,iVar6,0)" ( identifier , identifier , number_literal , number_literal , identifier , number_literal ))) ;)) (if_statement "if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) < 1)" ( (binary_expression "*(int *)(iVar4 + 0x40) < 1" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }" { (expression_statement "(*pcVar36)(piVar27,0x4b,0,iVar22,0);" (call_expression "(*pcVar36)(piVar27,0x4b,0,iVar22,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x4b,0,iVar22,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" * (cast_expression "(int *)(pcVar33 + 0x9ae94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae94)" ( (binary_expression "pcVar33 + 0x9ae94" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0)" ( identifier , (binary_expression "*(int *)(pcVar33 + 0x9adbc) + 0x53f4" (pointer_expression "*(int *)(pcVar33 + 0x9adbc)" * (cast_expression "(int *)(pcVar33 + 0x9adbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adbc)" ( (binary_expression "pcVar33 + 0x9adbc" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) }) (else_clause "else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }" else (compound_statement "{\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }" { (expression_statement "(*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);" (call_expression "(*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22)" ( identifier , number_literal , identifier , (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) , identifier ))) ;) }))) (expression_statement "(*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);" (call_expression "(*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "iVar22 + 1" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);" (call_expression "(*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , identifier , (binary_expression "iVar22 + 1" identifier + number_literal) ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x18cc)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x18cc" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar24)" ( identifier ))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,1);" (call_expression "(*pcVar35)(puVar18,iVar4,1)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);" (call_expression "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "piVar27[0x1b] + 3" (subscript_expression "piVar27[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);" (call_expression "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0xc,puStack_8c,iStack_88,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "iVar22 = 5;" (assignment_expression "iVar22 = 5" identifier = number_literal) ;) (expression_statement "iVar28 = *(int *)(iVar4 + 0x24);" (assignment_expression "iVar28 = *(int *)(iVar4 + 0x24)" identifier = (pointer_expression "*(int *)(iVar4 + 0x24)" * (cast_expression "(int *)(iVar4 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);" (call_expression "(*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,5,iVar28,piVar27[0x1b] + -1,0)" ( identifier , number_literal , identifier , (binary_expression "piVar27[0x1b] + -1" (subscript_expression "piVar27[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (goto_statement "goto LAB_000c0f44;" goto statement_identifier ;) })) (labeled_statement "LAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);" statement_identifier : (expression_statement "piVar26 = *(int **)(puVar18 + 8);" (assignment_expression "piVar26 = *(int **)(puVar18 + 8)" identifier = (pointer_expression "*(int **)(puVar18 + 8)" * (cast_expression "(int **)(puVar18 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }" if (parenthesized_expression "(piVar26 == (int *)0x0)" ( (binary_expression "piVar26 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }" { (expression_statement "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);" (assignment_expression "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" identifier = (cast_expression "(int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x371c" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18)" ( identifier ))))) ;) (expression_statement "piVar27 = *(int **)(iVar4 + 8);" (assignment_expression "piVar27 = *(int **)(iVar4 + 8)" identifier = (pointer_expression "*(int **)(iVar4 + 8)" * (cast_expression "(int **)(iVar4 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "piStack_e0 = *(int **)(iVar4 + 4);" (assignment_expression "piStack_e0 = *(int **)(iVar4 + 4)" identifier = (pointer_expression "*(int **)(iVar4 + 4)" * (cast_expression "(int **)(iVar4 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (if_statement "if (piVar27 != (int *)0x0) goto LAB_000c0c7c;" if (parenthesized_expression "(piVar27 != (int *)0x0)" ( (binary_expression "piVar27 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c0c7c;" goto statement_identifier ;)) (labeled_statement "LAB_000c1450:\n      iStack_f0 = 0;" statement_identifier : (expression_statement "iStack_f0 = 0;" (assignment_expression "iStack_f0 = 0" identifier = number_literal) ;)) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) }) (else_clause "else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }" else (compound_statement "{\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }" { (expression_statement "piStack_e0 = *(int **)(iVar4 + 4);" (assignment_expression "piStack_e0 = *(int **)(iVar4 + 4)" identifier = (pointer_expression "*(int **)(iVar4 + 4)" * (cast_expression "(int **)(iVar4 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "piVar27 = *(int **)(iVar4 + 8);" (assignment_expression "piVar27 = *(int **)(iVar4 + 8)" identifier = (pointer_expression "*(int **)(iVar4 + 8)" * (cast_expression "(int **)(iVar4 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (if_statement "if (piVar27 == (int *)0x0) goto LAB_000c1450;" if (parenthesized_expression "(piVar27 == (int *)0x0)" ( (binary_expression "piVar27 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c1450;" goto statement_identifier ;)) (labeled_statement "LAB_000c0c7c:\n      iStack_f0 = *piVar27;" statement_identifier : (expression_statement "iStack_f0 = *piVar27;" (assignment_expression "iStack_f0 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;)) (expression_statement "bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;" (assignment_expression "bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700" identifier = (binary_expression "(*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700" (parenthesized_expression "(*(uint *)(iVar4 + 0xc) & 0xffff00)" ( (binary_expression "*(uint *)(iVar4 + 0xc) & 0xffff00" (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal)) ;) }))) (expression_statement "iVar22 = *(int *)(puVar18 + 0x2c);" (assignment_expression "iVar22 = *(int *)(puVar18 + 0x2c)" identifier = (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(puVar18 + 0x28);" (assignment_expression "iVar12 = *(int *)(puVar18 + 0x28)" identifier = (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar34 = *(int *)(pcVar33 + 0x9aee8);" (assignment_expression "iVar34 = *(int *)(pcVar33 + 0x9aee8)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar6 = *(int *)(puVar18 + 0x38)" identifier = (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = iVar22 + iStack_f0;" (assignment_expression "iVar28 = iVar22 + iStack_f0" identifier = (binary_expression "iVar22 + iStack_f0" identifier + identifier)) ;) (expression_statement "iVar23 = iVar28 + 2;" (assignment_expression "iVar23 = iVar28 + 2" identifier = (binary_expression "iVar28 + 2" identifier + number_literal)) ;) (expression_statement "iVar31 = iVar6 + -2;" (assignment_expression "iVar31 = iVar6 + -2" identifier = (binary_expression "iVar6 + -2" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 0x28) = iVar12 + 1;" (assignment_expression "*(int *)(puVar18 + 0x28) = iVar12 + 1" (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) )))) = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" identifier = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 0x38) = iVar31;" (assignment_expression "*(int *)(puVar18 + 0x38) = iVar31" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + 0x2c) = iVar23;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar23" (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "(*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);" (call_expression "(*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8)" (parenthesized_expression "(*(code *)(iVar34 + -0x7e94))" ( (pointer_expression "*(code *)(iVar34 + -0x7e94)" * (cast_expression "(code *)(iVar34 + -0x7e94)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + -0x7e94)" ( (binary_expression "iVar34 + -0x7e94" identifier + number_literal) )))) )) (argument_list "(puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8)" ( identifier , (binary_expression "puVar21 + 0x20" identifier + number_literal) , (pointer_expression "*(undefined4 *)(puVar21 + 0x44)" * (cast_expression "(undefined4 *)(puVar21 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x44)" ( (binary_expression "puVar21 + 0x44" identifier + number_literal) )))) , identifier , identifier , identifier , (pointer_expression "&uStack_c8" & identifier) ))) ;) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);" (assignment_expression "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0)" identifier = (call_expression "(*pcVar36)(piVar26,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,0,0)" ( identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "iVar34 = *(int *)(pcVar33 + 0x9aee4);" (assignment_expression "iVar34 = *(int *)(pcVar33 + 0x9aee4)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);" (call_expression "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar31)" (parenthesized_expression "(*(code *)(iVar34 + -0x3c14))" ( (pointer_expression "*(code *)(iVar34 + -0x3c14)" * (cast_expression "(code *)(iVar34 + -0x3c14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + -0x3c14)" ( (binary_expression "iVar34 + -0x3c14" identifier + number_literal) )))) )) (argument_list "(piVar26,iVar31)" ( identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x11,0,piVar26[0x1b] + 2,0)" ( identifier , number_literal , number_literal , (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);" (call_expression "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal ))) ;) (expression_statement "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);" (assignment_expression "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" identifier = (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2e00" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4)" ( identifier , identifier )))) ;) (expression_statement "(*pcVar36)(piVar26,0x46,0,iVar23,0);" (call_expression "(*pcVar36)(piVar26,0x46,0,iVar23,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x46,0,iVar23,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,iVar12,iVar6,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , identifier , number_literal ))) ;) (if_statement "if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }" { (expression_statement "iVar31 = piVar26[0x1b];" (assignment_expression "iVar31 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7af4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" ( identifier , identifier , identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,5,iVar12,iVar31,0);" (call_expression "(*pcVar36)(piVar26,5,iVar12,iVar31,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,iVar12,iVar31,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,iVar12,iVar6,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "iStack_e8 = piVar26[0x1b];" (assignment_expression "iStack_e8 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (piVar27 != (int *)0x0) goto LAB_000c0e28;" if (parenthesized_expression "(piVar27 != (int *)0x0)" ( (binary_expression "piVar27 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c0e28;" goto statement_identifier ;)) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }" else (compound_statement "{\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }" { (expression_statement "iStack_e8 = piVar26[0x1b];" (assignment_expression "iStack_e8 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }" if (parenthesized_expression "(piVar27 == (int *)0x0)" ( (binary_expression "piVar27 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }" { (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }" else (compound_statement "{\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }" { (labeled_statement "LAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);" statement_identifier : (expression_statement "cVar14 = *(char *)(iVar4 + 0xd);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xd)" identifier = (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;)) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" identifier = identifier) ;) (if_statement "if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" if (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'R')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'R'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'R'" ' character ')) )) (compound_statement "{\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }" { (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }" if (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" ( (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" * (cast_expression "(char *)(iVar4 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) == (char_literal "'V'" ' character ')) )) (compound_statement "{\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }" { (labeled_statement "LAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);" statement_identifier : (expression_statement "iVar31 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar31 = *(int *)(iVar4 + 0x40)" identifier = (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) ))))) ;)) (if_statement "if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }" if (parenthesized_expression "(piStack_e0 == (int *)0x0)" ( (binary_expression "piStack_e0 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar25 = 0;\n            }" { (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }" else (compound_statement "{\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }" { (expression_statement "iVar25 = *piStack_e0;" (assignment_expression "iVar25 = *piStack_e0" identifier = (pointer_expression "*piStack_e0" * identifier)) ;) (expression_statement "iVar31 = iVar31 + iVar25;" (assignment_expression "iVar31 = iVar31 + iVar25" identifier = (binary_expression "iVar31 + iVar25" identifier + identifier)) ;) }))) (expression_statement "iVar25 = iVar25 + *(int *)(iVar4 + 0x38);" (assignment_expression "iVar25 = iVar25 + *(int *)(iVar4 + 0x38)" identifier = (binary_expression "iVar25 + *(int *)(iVar4 + 0x38)" identifier + (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))))) ;) (expression_statement "uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);" (assignment_expression "uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0)" identifier = (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,piVar27,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (if_statement "if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }" if (parenthesized_expression "(0 < iStack_f0)" ( (binary_expression "0 < iStack_f0" number_literal < identifier) )) (compound_statement "{\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }" { (expression_statement "iVar10 = iStack_f0 + iVar31;" (assignment_expression "iVar10 = iStack_f0 + iVar31" identifier = (binary_expression "iStack_f0 + iVar31" identifier + identifier)) ;) (expression_statement "iVar11 = iVar22 - iVar31;" (assignment_expression "iVar11 = iVar22 - iVar31" identifier = (binary_expression "iVar22 - iVar31" identifier - identifier)) ;) (do_statement "do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);" do (compound_statement "{\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              }" { (expression_statement "(*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);" (call_expression "(*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31)" ( identifier , number_literal , identifier , identifier , (binary_expression "iVar11 + iVar31" identifier + identifier) ))) ;) (expression_statement "iVar31 = iVar31 + 1;" (assignment_expression "iVar31 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar31 != iVar10)" ( (binary_expression "iVar31 != iVar10" identifier != identifier) )) ;) })) (expression_statement "iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);" (assignment_expression "iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0)" identifier = (call_expression "(*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x57,iVar22,iVar25,iStack_f0)" ( identifier , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" * (cast_expression "(int *)(pcVar33 + 0x9ae94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae94)" ( (binary_expression "pcVar33 + 0x9ae94" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar26,uVar9,0xfffffff7)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);" (assignment_expression "iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2)" identifier = (call_expression "(*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x10,iVar31 + 2,0,iVar31 + 2)" ( identifier , number_literal , (binary_expression "iVar31 + 2" identifier + number_literal) , number_literal , (binary_expression "iVar31 + 2" identifier + number_literal) )))) ;) (expression_statement "(*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);" (call_expression "(*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1)" ( identifier , number_literal , identifier , identifier , (binary_expression "iStack_f0 + -1" identifier + number_literal) ))) ;) (expression_statement "uVar9 = uStack_c8;" (assignment_expression "uVar9 = uStack_c8" identifier = identifier) ;) (if_statement "if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }" if (parenthesized_expression "(cVar14 != 'R')" ( (binary_expression "cVar14 != 'R'" identifier != (char_literal "'R'" ' character ')) )) (compound_statement "{\n              uVar8 = 0;\n              uVar9 = 0;\n            }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) })) (goto_statement "goto LAB_000c14a0;" goto statement_identifier ;) })) (if_statement "if (cVar14 == 'R') goto LAB_000c1494;" if (parenthesized_expression "(cVar14 == 'R')" ( (binary_expression "cVar14 == 'R'" identifier == (char_literal "'R'" ' character ')) )) (goto_statement "goto LAB_000c1494;" goto statement_identifier ;)) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);" (call_expression "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" ( identifier , identifier , identifier , identifier , identifier , number_literal , number_literal ))) ;) }) (else_clause "else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" else (if_statement "if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" if (parenthesized_expression "(cVar14 == 'R')" ( (binary_expression "cVar14 == 'R'" identifier == (char_literal "'R'" ' character ')) )) (compound_statement "{\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }" { (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;" if (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" ( (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" * (cast_expression "(char *)(iVar4 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) == (char_literal "'V'" ' character ')) )) (goto_statement "goto LAB_000c1544;" goto statement_identifier ;)) (labeled_statement "LAB_000c1494:\n          iVar31 = 0;" statement_identifier : (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;)) (expression_statement "uVar9 = uStack_c8;" (assignment_expression "uVar9 = uStack_c8" identifier = identifier) ;) (labeled_statement "LAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" statement_identifier : (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);" (call_expression "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }" if (parenthesized_expression "(iVar31 != 0)" ( (binary_expression "iVar31 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }" { (expression_statement "iVar22 = piVar26[0x1b];" (assignment_expression "iVar22 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }" if (parenthesized_expression "(iVar31 < 0)" ( (binary_expression "iVar31 < 0" identifier < number_literal) )) (compound_statement "{\n              iVar31 = iVar22 + -1;\n            }" { (expression_statement "iVar31 = iVar22 + -1;" (assignment_expression "iVar31 = iVar22 + -1" identifier = (binary_expression "iVar22 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }" { (expression_statement "*(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22" (pointer_expression "*(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8)" * (cast_expression "(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iVar31 * 0x14 + 8)" ( (binary_expression "piVar26[0x1a] + iVar31 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar31 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar31 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }" else (compound_statement "{\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) })) }) (else_clause "else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" else (compound_statement "{\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" { (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) }))))) (if_statement "if (bVar2) goto LAB_000c0e5c;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_000c0e5c;" goto statement_identifier ;)) }))) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7af4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" ( identifier , identifier , identifier , number_literal , identifier , identifier ))) ;) }))) (labeled_statement "LAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);" statement_identifier : (expression_statement "(*pcVar36)(piVar26,0x53,iVar23,1,0);" (call_expression "(*pcVar36)(piVar26,0x53,iVar23,1,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x53,iVar23,1,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;)) (expression_statement "(*pcVar36)(piVar26,5,iVar12,iStack_e8,0);" (call_expression "(*pcVar36)(piVar26,5,iVar12,iStack_e8,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,iVar12,iStack_e8,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);" (call_expression "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" ( identifier , identifier , identifier , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);" (call_expression "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar6)" (parenthesized_expression "(*(code *)(iVar34 + -0x3c14))" ( (pointer_expression "*(code *)(iVar34 + -0x3c14)" * (cast_expression "(code *)(iVar34 + -0x3c14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + -0x3c14)" ( (binary_expression "iVar34 + -0x3c14" identifier + number_literal) )))) )) (argument_list "(piVar26,iVar6)" ( identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);" (call_expression "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal , number_literal ))) ;) }))) (expression_statement "iVar22 = 0x42;" (assignment_expression "iVar22 = 0x42" identifier = number_literal) ;) (expression_statement "(*pcVar36)(piVar26,0x42,iVar28,0,0);" (call_expression "(*pcVar36)(piVar26,0x42,iVar28,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x42,iVar28,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "piVar27 = (int *)piVar26[0x1b];" (assignment_expression "piVar27 = (int *)piVar26[0x1b]" identifier = (cast_expression "(int *)piVar26[0x1b]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]))) ;) (if_statement "if (iStack_f8 < 0) {\n    iStack_f8 = (int)piVar27 + -1;\n  }" if (parenthesized_expression "(iStack_f8 < 0)" ( (binary_expression "iStack_f8 < 0" identifier < number_literal) )) (compound_statement "{\n    iStack_f8 = (int)piVar27 + -1;\n  }" { (expression_statement "iStack_f8 = (int)piVar27 + -1;" (assignment_expression "iStack_f8 = (int)piVar27 + -1" identifier = (binary_expression "(int)piVar27 + -1" (cast_expression "(int)piVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }\n  else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }" { (expression_statement "iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;" (assignment_expression "iVar4 = piVar26[0x1a] + iStack_f8 * 0x14" identifier = (binary_expression "piVar26[0x1a] + iStack_f8 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iStack_f8 * 0x14" identifier * number_literal))) ;) (expression_statement "iVar22 = iStack_f8;" (assignment_expression "iVar22 = iStack_f8" identifier = identifier) ;) }) (else_clause "else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }" else (compound_statement "{\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }" { (expression_statement "iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;" (assignment_expression "iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514" identifier = (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x4514" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "*(int **)(iVar4 + 8) = piVar27;" (assignment_expression "*(int **)(iVar4 + 8) = piVar27" (pointer_expression "*(int **)(iVar4 + 8)" * (cast_expression "(int **)(iVar4 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = identifier) ;) (labeled_statement "LAB_000c0f44:\n  if (iStack_c4 == *piVar30) {\n    return;\n  }" statement_identifier : (if_statement "if (iStack_c4 == *piVar30) {\n    return;\n  }" if (parenthesized_expression "(iStack_c4 == *piVar30)" ( (binary_expression "iStack_c4 == *piVar30" identifier == (pointer_expression "*piVar30" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar33 = *(code **)(pcVar33 + 0x9b1e4);" (assignment_expression "pcVar33 = *(code **)(pcVar33 + 0x9b1e4)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x9b1e4)" * (cast_expression "(code **)(pcVar33 + 0x9b1e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x9b1e4)" ( (binary_expression "pcVar33 + 0x9b1e4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = *piVar27;" (assignment_expression "iVar4 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (if_statement "if (iVar22 == 0) {\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }\n  else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x000c1fc0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }" if (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) (compound_statement "{\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }" { (if_statement "if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0x51) == '\0')" ( (binary_expression "*(char *)(iVar4 + 0x51) == '\0'" (pointer_expression "*(char *)(iVar4 + 0x51)" * (cast_expression "(char *)(iVar4 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x51)" ( (binary_expression "iVar4 + 0x51" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_000c02d8();\n      return;\n    }" { (expression_statement "FUN_000c02d8();" (call_expression "FUN_000c02d8()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x000c1fc0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }" else (compound_statement "{\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x000c1fc0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }" { (expression_statement "iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);" (assignment_expression "iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4)" identifier = (call_expression "(*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x997c0) + -0x271c)" ( (binary_expression "*(int *)(pcVar33 + 0x997c0) + -0x271c" (pointer_expression "*(int *)(pcVar33 + 0x997c0)" * (cast_expression "(int *)(pcVar33 + 0x997c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x997c0)" ( (binary_expression "pcVar33 + 0x997c0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar4)" ( identifier )))) ;) (if_statement "if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0x51) == '\0')" ( (binary_expression "*(char *)(iVar4 + 0x51) == '\0'" (pointer_expression "*(char *)(iVar4 + 0x51)" * (cast_expression "(char *)(iVar4 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x51)" ( (binary_expression "iVar4 + 0x51" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }" { (expression_statement "FUN_000c02d8(piVar27,iVar22,iVar28);" (call_expression "FUN_000c02d8(piVar27,iVar22,iVar28)" identifier (argument_list "(piVar27,iVar22,iVar28)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if (iVar22 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x000c1fc0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }" if (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000c1fc0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }" { comment comment (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x99780) + 0x7bc4)" ( (binary_expression "*(int *)(pcVar33 + 0x99780) + 0x7bc4" (pointer_expression "*(int *)(pcVar33 + 0x99780)" * (cast_expression "(int *)(pcVar33 + 0x99780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x99780)" ( (binary_expression "pcVar33 + 0x99780" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar4,iVar22)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) }))) (return_statement "return;" return ;) })))
(translation_unit "void sqlite3ExprCodeFactorable(Parse *pParse,Expr *pExpr,int target)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  Walker w;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  iVar2 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (pParse->okConstFactor == '\0') {\nLAB_000c042c:\n    sqlite3ExprCode(pParse,pExpr,target);\n  }\n  else {\n    w.u.pNC = (NameContext *)0x0;\n    w.eCode = '\x02';\n    w.xExprCallback = (_func_int_Walker_ptr_Expr_ptr *)(PTR_LAB_0015b6d8 + 0x7abc);\n    w.xSelectCallback = (_func_int_Walker_ptr_Select_ptr *)(PTR_LAB_0015b65c + -0xbec);\n    if (pExpr != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(&w);\n      if (w.eCode == '\0') goto LAB_000c042c;\n    }\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))(pParse,pExpr);\n  }\n  if (iVar2 == *(int *)puVar1) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  return;\n}\n\n" (function_definition "void sqlite3ExprCodeFactorable(Parse *pParse,Expr *pExpr,int target)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  Walker w;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  iVar2 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (pParse->okConstFactor == '\0') {\nLAB_000c042c:\n    sqlite3ExprCode(pParse,pExpr,target);\n  }\n  else {\n    w.u.pNC = (NameContext *)0x0;\n    w.eCode = '\x02';\n    w.xExprCallback = (_func_int_Walker_ptr_Expr_ptr *)(PTR_LAB_0015b6d8 + 0x7abc);\n    w.xSelectCallback = (_func_int_Walker_ptr_Select_ptr *)(PTR_LAB_0015b65c + -0xbec);\n    if (pExpr != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(&w);\n      if (w.eCode == '\0') goto LAB_000c042c;\n    }\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))(pParse,pExpr);\n  }\n  if (iVar2 == *(int *)puVar1) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  return;\n}" primitive_type (function_declarator "sqlite3ExprCodeFactorable(Parse *pParse,Expr *pExpr,int target)" identifier (parameter_list "(Parse *pParse,Expr *pExpr,int target)" ( (parameter_declaration "Parse *pParse" type_identifier (pointer_declarator "*pParse" * identifier)) , (parameter_declaration "Expr *pExpr" type_identifier (pointer_declarator "*pExpr" * identifier)) , (parameter_declaration "int target" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  Walker w;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  iVar2 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (pParse->okConstFactor == '\0') {\nLAB_000c042c:\n    sqlite3ExprCode(pParse,pExpr,target);\n  }\n  else {\n    w.u.pNC = (NameContext *)0x0;\n    w.eCode = '\x02';\n    w.xExprCallback = (_func_int_Walker_ptr_Expr_ptr *)(PTR_LAB_0015b6d8 + 0x7abc);\n    w.xSelectCallback = (_func_int_Walker_ptr_Select_ptr *)(PTR_LAB_0015b65c + -0xbec);\n    if (pExpr != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(&w);\n      if (w.eCode == '\0') goto LAB_000c042c;\n    }\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))(pParse,pExpr);\n  }\n  if (iVar2 == *(int *)puVar1) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "Walker w;" type_identifier identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "iVar2 = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (pParse->okConstFactor == '\0') {\nLAB_000c042c:\n    sqlite3ExprCode(pParse,pExpr,target);\n  }\n  else {\n    w.u.pNC = (NameContext *)0x0;\n    w.eCode = '\x02';\n    w.xExprCallback = (_func_int_Walker_ptr_Expr_ptr *)(PTR_LAB_0015b6d8 + 0x7abc);\n    w.xSelectCallback = (_func_int_Walker_ptr_Select_ptr *)(PTR_LAB_0015b65c + -0xbec);\n    if (pExpr != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(&w);\n      if (w.eCode == '\0') goto LAB_000c042c;\n    }\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))(pParse,pExpr);\n  }" if (parenthesized_expression "(pParse->okConstFactor == '\0')" ( (binary_expression "pParse->okConstFactor == '\0'" (field_expression "pParse->okConstFactor" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000c042c:\n    sqlite3ExprCode(pParse,pExpr,target);\n  }" { (labeled_statement "LAB_000c042c:\n    sqlite3ExprCode(pParse,pExpr,target);" statement_identifier : (expression_statement "sqlite3ExprCode(pParse,pExpr,target);" (call_expression "sqlite3ExprCode(pParse,pExpr,target)" identifier (argument_list "(pParse,pExpr,target)" ( identifier , identifier , identifier ))) ;)) }) (else_clause "else {\n    w.u.pNC = (NameContext *)0x0;\n    w.eCode = '\x02';\n    w.xExprCallback = (_func_int_Walker_ptr_Expr_ptr *)(PTR_LAB_0015b6d8 + 0x7abc);\n    w.xSelectCallback = (_func_int_Walker_ptr_Select_ptr *)(PTR_LAB_0015b65c + -0xbec);\n    if (pExpr != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(&w);\n      if (w.eCode == '\0') goto LAB_000c042c;\n    }\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))(pParse,pExpr);\n  }" else (compound_statement "{\n    w.u.pNC = (NameContext *)0x0;\n    w.eCode = '\x02';\n    w.xExprCallback = (_func_int_Walker_ptr_Expr_ptr *)(PTR_LAB_0015b6d8 + 0x7abc);\n    w.xSelectCallback = (_func_int_Walker_ptr_Select_ptr *)(PTR_LAB_0015b65c + -0xbec);\n    if (pExpr != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(&w);\n      if (w.eCode == '\0') goto LAB_000c042c;\n    }\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))(pParse,pExpr);\n  }" { (expression_statement "w.u.pNC = (NameContext *)0x0;" (assignment_expression "w.u.pNC = (NameContext *)0x0" (field_expression "w.u.pNC" (field_expression "w.u" identifier . field_identifier) . field_identifier) = (cast_expression "(NameContext *)0x0" ( (type_descriptor "NameContext *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "w.eCode = '\x02';" (assignment_expression "w.eCode = '\x02'" (field_expression "w.eCode" identifier . field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "w.xExprCallback = (_func_int_Walker_ptr_Expr_ptr *)(PTR_LAB_0015b6d8 + 0x7abc);" (assignment_expression "w.xExprCallback = (_func_int_Walker_ptr_Expr_ptr *)(PTR_LAB_0015b6d8 + 0x7abc)" (field_expression "w.xExprCallback" identifier . field_identifier) = (cast_expression "(_func_int_Walker_ptr_Expr_ptr *)(PTR_LAB_0015b6d8 + 0x7abc)" ( (type_descriptor "_func_int_Walker_ptr_Expr_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6d8 + 0x7abc)" ( (binary_expression "PTR_LAB_0015b6d8 + 0x7abc" identifier + number_literal) )))) ;) (expression_statement "w.xSelectCallback = (_func_int_Walker_ptr_Select_ptr *)(PTR_LAB_0015b65c + -0xbec);" (assignment_expression "w.xSelectCallback = (_func_int_Walker_ptr_Select_ptr *)(PTR_LAB_0015b65c + -0xbec)" (field_expression "w.xSelectCallback" identifier . field_identifier) = (cast_expression "(_func_int_Walker_ptr_Select_ptr *)(PTR_LAB_0015b65c + -0xbec)" ( (type_descriptor "_func_int_Walker_ptr_Select_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + -0xbec)" ( (binary_expression "PTR_LAB_0015b65c + -0xbec" identifier + number_literal) )))) ;) (if_statement "if (pExpr != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(&w);\n      if (w.eCode == '\0') goto LAB_000c042c;\n    }" if (parenthesized_expression "(pExpr != (Expr *)0x0)" ( (binary_expression "pExpr != (Expr *)0x0" identifier != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(&w);\n      if (w.eCode == '\0') goto LAB_000c042c;\n    }" { (expression_statement "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(&w);" (call_expression "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(&w)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6d8 + 0x6e6c)" * (cast_expression "(code *)(PTR_LAB_0015b6d8 + 0x6e6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6d8 + 0x6e6c)" ( (binary_expression "PTR_LAB_0015b6d8 + 0x6e6c" identifier + number_literal) )))) )) (argument_list "(&w)" ( (pointer_expression "&w" & identifier) ))) ;) (if_statement "if (w.eCode == '\0') goto LAB_000c042c;" if (parenthesized_expression "(w.eCode == '\0')" ( (binary_expression "w.eCode == '\0'" (field_expression "w.eCode" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c042c;" goto statement_identifier ;)) })) (expression_statement "(*(code *)(PTR_LAB_0015b714 + 0x1c50))(pParse,pExpr);" (call_expression "(*(code *)(PTR_LAB_0015b714 + 0x1c50))(pParse,pExpr)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b714 + 0x1c50))" ( (pointer_expression "*(code *)(PTR_LAB_0015b714 + 0x1c50)" * (cast_expression "(code *)(PTR_LAB_0015b714 + 0x1c50)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b714 + 0x1c50)" ( (binary_expression "PTR_LAB_0015b714 + 0x1c50" identifier + number_literal) )))) )) (argument_list "(pParse,pExpr)" ( identifier , identifier ))) ;) }))) (if_statement "if (iVar2 == *(int *)puVar1) {\n    return;\n  }" if (parenthesized_expression "(iVar2 == *(int *)puVar1)" ( (binary_expression "iVar2 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_000c03a0(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)\n\n{\n  ushort uVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  short sVar13;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  char cVar14;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  int iVar23;\n  undefined1 *puVar24;\n  int iVar25;\n  int *piVar26;\n  int *piVar27;\n  int unaff_s4;\n  code *unaff_s5;\n  int iVar28;\n  int *piVar29;\n  undefined1 *unaff_s6;\n  int *piVar30;\n  undefined1 *unaff_s7;\n  int iVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  int unaff_s8;\n  int iVar34;\n  code *pcVar35;\n  code *pcVar36;\n  int iStack_f8;\n  code *pcStack_f4;\n  int iStack_f0;\n  int iStack_e8;\n  code *pcStack_e4;\n  int *piStack_e0;\n  undefined4 uStack_c8;\n  int iStack_c4;\n  undefined1 *puStack_c0;\n  undefined1 *puStack_bc;\n  undefined1 *puStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  code *pcStack_ac;\n  undefined1 *puStack_a8;\n  undefined1 *puStack_a4;\n  int iStack_a0;\n  code *pcStack_9c;\n  undefined1 *puStack_8c;\n  int iStack_88;\n  undefined *puStack_80;\n  undefined1 *puStack_78;\n  int iStack_74;\n  undefined *puStack_70;\n  undefined1 *puStack_6c;\n  undefined1 *puStack_68;\n  undefined1 auStack_30 [4];\n  undefined *local_2c;\n  undefined *local_28;\n  char local_1c;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  puVar17 = param_1;\n  puVar20 = param_2;\n  if (param_1[0x17] == '\0') {\nLAB_000c042c:\n    FUN_000c02d8();\n  }\n  else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }\n  if (local_14 == *(int *)puVar3) {\n    return;\n  }\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_80 = puVar32 + 0xa3120;\n  puStack_70 = puVar3;\n  piVar26 = *(int **)(puVar32 + 0x9b59c);\n  iStack_74 = *piVar26;\n  puVar18 = puVar17;\n  puVar21 = puVar20;\n  puVar24 = param_3;\n  puStack_c0 = puVar3;\n  puStack_b8 = param_2;\n  puStack_6c = param_1;\n  puStack_68 = param_2;\n  if ((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }\n  if (iStack_74 == *piVar26) {\n    return;\n  }\n  pcVar33 = *(code **)(puStack_80 + -0x7ba0);\n  pcVar36 = FUN_000c082c;\n  (*pcVar33)();\n  piVar30 = *(int **)(pcVar33 + 0x9b200);\n  iVar4 = *(int *)(puVar21 + 0x44);\n  iStack_c4 = *piVar30;\n  uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;\n  puStack_bc = param_1;\n  piStack_b4 = piVar26;\n  iStack_b0 = unaff_s4;\n  pcStack_ac = unaff_s5;\n  puStack_a8 = unaff_s6;\n  puStack_a4 = unaff_s7;\n  iStack_a0 = unaff_s8;\n  pcStack_9c = pcVar36;\n  puStack_8c = param_4;\n  if (*(char *)(iVar4 + 0xc) == 'L') {\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  iVar22 = 0x42;\n  (*pcVar36)(piVar26,0x42,iVar28,0,0);\n  piVar27 = (int *)piVar26[0x1b];\n  if (iStack_f8 < 0) {\n    iStack_f8 = (int)piVar27 + -1;\n  }\n  if (*(char *)(*piVar26 + 0x51) == '\0') {\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }\n  else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }\n  *(int **)(iVar4 + 8) = piVar27;\nLAB_000c0f44:\n  if (iStack_c4 == *piVar30) {\n    return;\n  }\n  pcVar33 = *(code **)(pcVar33 + 0x9b1e4);\n  (*pcVar33)();\n  iVar4 = *piVar27;\n  if (iVar22 == 0) {\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }\n  else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_000c03a0(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)\n\n{\n  ushort uVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  short sVar13;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  char cVar14;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  int iVar23;\n  undefined1 *puVar24;\n  int iVar25;\n  int *piVar26;\n  int *piVar27;\n  int unaff_s4;\n  code *unaff_s5;\n  int iVar28;\n  int *piVar29;\n  undefined1 *unaff_s6;\n  int *piVar30;\n  undefined1 *unaff_s7;\n  int iVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  int unaff_s8;\n  int iVar34;\n  code *pcVar35;\n  code *pcVar36;\n  int iStack_f8;\n  code *pcStack_f4;\n  int iStack_f0;\n  int iStack_e8;\n  code *pcStack_e4;\n  int *piStack_e0;\n  undefined4 uStack_c8;\n  int iStack_c4;\n  undefined1 *puStack_c0;\n  undefined1 *puStack_bc;\n  undefined1 *puStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  code *pcStack_ac;\n  undefined1 *puStack_a8;\n  undefined1 *puStack_a4;\n  int iStack_a0;\n  code *pcStack_9c;\n  undefined1 *puStack_8c;\n  int iStack_88;\n  undefined *puStack_80;\n  undefined1 *puStack_78;\n  int iStack_74;\n  undefined *puStack_70;\n  undefined1 *puStack_6c;\n  undefined1 *puStack_68;\n  undefined1 auStack_30 [4];\n  undefined *local_2c;\n  undefined *local_28;\n  char local_1c;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  puVar17 = param_1;\n  puVar20 = param_2;\n  if (param_1[0x17] == '\0') {\nLAB_000c042c:\n    FUN_000c02d8();\n  }\n  else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }\n  if (local_14 == *(int *)puVar3) {\n    return;\n  }\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_80 = puVar32 + 0xa3120;\n  puStack_70 = puVar3;\n  piVar26 = *(int **)(puVar32 + 0x9b59c);\n  iStack_74 = *piVar26;\n  puVar18 = puVar17;\n  puVar21 = puVar20;\n  puVar24 = param_3;\n  puStack_c0 = puVar3;\n  puStack_b8 = param_2;\n  puStack_6c = param_1;\n  puStack_68 = param_2;\n  if ((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }\n  if (iStack_74 == *piVar26) {\n    return;\n  }\n  pcVar33 = *(code **)(puStack_80 + -0x7ba0);\n  pcVar36 = FUN_000c082c;\n  (*pcVar33)();\n  piVar30 = *(int **)(pcVar33 + 0x9b200);\n  iVar4 = *(int *)(puVar21 + 0x44);\n  iStack_c4 = *piVar30;\n  uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;\n  puStack_bc = param_1;\n  piStack_b4 = piVar26;\n  iStack_b0 = unaff_s4;\n  pcStack_ac = unaff_s5;\n  puStack_a8 = unaff_s6;\n  puStack_a4 = unaff_s7;\n  iStack_a0 = unaff_s8;\n  pcStack_9c = pcVar36;\n  puStack_8c = param_4;\n  if (*(char *)(iVar4 + 0xc) == 'L') {\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  iVar22 = 0x42;\n  (*pcVar36)(piVar26,0x42,iVar28,0,0);\n  piVar27 = (int *)piVar26[0x1b];\n  if (iStack_f8 < 0) {\n    iStack_f8 = (int)piVar27 + -1;\n  }\n  if (*(char *)(*piVar26 + 0x51) == '\0') {\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }\n  else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }\n  *(int **)(iVar4 + 8) = piVar27;\nLAB_000c0f44:\n  if (iStack_c4 == *piVar30) {\n    return;\n  }\n  pcVar33 = *(code **)(pcVar33 + 0x9b1e4);\n  (*pcVar33)();\n  iVar4 = *piVar27;\n  if (iVar22 == 0) {\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }\n  else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000c03a0(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)" identifier (parameter_list "(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)" ( (parameter_declaration "undefined1 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined1 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined1 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  ushort uVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  short sVar13;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  char cVar14;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  int iVar23;\n  undefined1 *puVar24;\n  int iVar25;\n  int *piVar26;\n  int *piVar27;\n  int unaff_s4;\n  code *unaff_s5;\n  int iVar28;\n  int *piVar29;\n  undefined1 *unaff_s6;\n  int *piVar30;\n  undefined1 *unaff_s7;\n  int iVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  int unaff_s8;\n  int iVar34;\n  code *pcVar35;\n  code *pcVar36;\n  int iStack_f8;\n  code *pcStack_f4;\n  int iStack_f0;\n  int iStack_e8;\n  code *pcStack_e4;\n  int *piStack_e0;\n  undefined4 uStack_c8;\n  int iStack_c4;\n  undefined1 *puStack_c0;\n  undefined1 *puStack_bc;\n  undefined1 *puStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  code *pcStack_ac;\n  undefined1 *puStack_a8;\n  undefined1 *puStack_a4;\n  int iStack_a0;\n  code *pcStack_9c;\n  undefined1 *puStack_8c;\n  int iStack_88;\n  undefined *puStack_80;\n  undefined1 *puStack_78;\n  int iStack_74;\n  undefined *puStack_70;\n  undefined1 *puStack_6c;\n  undefined1 *puStack_68;\n  undefined1 auStack_30 [4];\n  undefined *local_2c;\n  undefined *local_28;\n  char local_1c;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  puVar17 = param_1;\n  puVar20 = param_2;\n  if (param_1[0x17] == '\0') {\nLAB_000c042c:\n    FUN_000c02d8();\n  }\n  else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }\n  if (local_14 == *(int *)puVar3) {\n    return;\n  }\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_80 = puVar32 + 0xa3120;\n  puStack_70 = puVar3;\n  piVar26 = *(int **)(puVar32 + 0x9b59c);\n  iStack_74 = *piVar26;\n  puVar18 = puVar17;\n  puVar21 = puVar20;\n  puVar24 = param_3;\n  puStack_c0 = puVar3;\n  puStack_b8 = param_2;\n  puStack_6c = param_1;\n  puStack_68 = param_2;\n  if ((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }\n  if (iStack_74 == *piVar26) {\n    return;\n  }\n  pcVar33 = *(code **)(puStack_80 + -0x7ba0);\n  pcVar36 = FUN_000c082c;\n  (*pcVar33)();\n  piVar30 = *(int **)(pcVar33 + 0x9b200);\n  iVar4 = *(int *)(puVar21 + 0x44);\n  iStack_c4 = *piVar30;\n  uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;\n  puStack_bc = param_1;\n  piStack_b4 = piVar26;\n  iStack_b0 = unaff_s4;\n  pcStack_ac = unaff_s5;\n  puStack_a8 = unaff_s6;\n  puStack_a4 = unaff_s7;\n  iStack_a0 = unaff_s8;\n  pcStack_9c = pcVar36;\n  puStack_8c = param_4;\n  if (*(char *)(iVar4 + 0xc) == 'L') {\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  iVar22 = 0x42;\n  (*pcVar36)(piVar26,0x42,iVar28,0,0);\n  piVar27 = (int *)piVar26[0x1b];\n  if (iStack_f8 < 0) {\n    iStack_f8 = (int)piVar27 + -1;\n  }\n  if (*(char *)(*piVar26 + 0x51) == '\0') {\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }\n  else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }\n  *(int **)(iVar4 + 8) = piVar27;\nLAB_000c0f44:\n  if (iStack_c4 == *piVar30) {\n    return;\n  }\n  pcVar33 = *(code **)(pcVar33 + 0x9b1e4);\n  (*pcVar33)();\n  iVar4 = *piVar27;\n  if (iVar22 == 0) {\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }\n  else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }\n  return;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "short sVar13;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * 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 "int iVar23;" primitive_type identifier ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "int unaff_s4;" primitive_type identifier ;) (declaration "code *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "undefined1 *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "undefined1 *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "undefined *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "code *pcVar33;" type_identifier (pointer_declarator "*pcVar33" * identifier) ;) (declaration "int unaff_s8;" primitive_type identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "code *pcVar35;" type_identifier (pointer_declarator "*pcVar35" * identifier) ;) (declaration "code *pcVar36;" type_identifier (pointer_declarator "*pcVar36" * identifier) ;) (declaration "int iStack_f8;" primitive_type identifier ;) (declaration "code *pcStack_f4;" type_identifier (pointer_declarator "*pcStack_f4" * identifier) ;) (declaration "int iStack_f0;" primitive_type identifier ;) (declaration "int iStack_e8;" primitive_type identifier ;) (declaration "code *pcStack_e4;" type_identifier (pointer_declarator "*pcStack_e4" * identifier) ;) (declaration "int *piStack_e0;" primitive_type (pointer_declarator "*piStack_e0" * identifier) ;) (declaration "undefined4 uStack_c8;" type_identifier identifier ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "undefined1 *puStack_c0;" type_identifier (pointer_declarator "*puStack_c0" * identifier) ;) (declaration "undefined1 *puStack_bc;" type_identifier (pointer_declarator "*puStack_bc" * identifier) ;) (declaration "undefined1 *puStack_b8;" type_identifier (pointer_declarator "*puStack_b8" * identifier) ;) (declaration "int *piStack_b4;" primitive_type (pointer_declarator "*piStack_b4" * identifier) ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "code *pcStack_ac;" type_identifier (pointer_declarator "*pcStack_ac" * identifier) ;) (declaration "undefined1 *puStack_a8;" type_identifier (pointer_declarator "*puStack_a8" * identifier) ;) (declaration "undefined1 *puStack_a4;" type_identifier (pointer_declarator "*puStack_a4" * identifier) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "code *pcStack_9c;" type_identifier (pointer_declarator "*pcStack_9c" * identifier) ;) (declaration "undefined1 *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "int iStack_88;" primitive_type identifier ;) (declaration "undefined *puStack_80;" type_identifier (pointer_declarator "*puStack_80" * identifier) ;) (declaration "undefined1 *puStack_78;" type_identifier (pointer_declarator "*puStack_78" * identifier) ;) (declaration "int iStack_74;" primitive_type identifier ;) (declaration "undefined *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (declaration "undefined1 *puStack_6c;" type_identifier (pointer_declarator "*puStack_6c" * identifier) ;) (declaration "undefined1 *puStack_68;" type_identifier (pointer_declarator "*puStack_68" * identifier) ;) (declaration "undefined1 auStack_30 [4];" type_identifier (array_declarator "auStack_30 [4]" identifier [ number_literal ]) ;) (declaration "undefined *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "char local_1c;" primitive_type identifier ;) (declaration "undefined4 local_18;" type_identifier identifier ;) (declaration "int local_14;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar17 = param_1;" (assignment_expression "puVar17 = param_1" identifier = identifier) ;) (expression_statement "puVar20 = param_2;" (assignment_expression "puVar20 = param_2" identifier = identifier) ;) (if_statement "if (param_1[0x17] == '\0') {\nLAB_000c042c:\n    FUN_000c02d8();\n  }\n  else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }" if (parenthesized_expression "(param_1[0x17] == '\0')" ( (binary_expression "param_1[0x17] == '\0'" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000c042c:\n    FUN_000c02d8();\n  }" { (labeled_statement "LAB_000c042c:\n    FUN_000c02d8();" statement_identifier : (expression_statement "FUN_000c02d8();" (call_expression "FUN_000c02d8()" identifier (argument_list "()" ( ))) ;)) }) (else_clause "else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }" else (compound_statement "{\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }" { (expression_statement "local_18 = 0;" (assignment_expression "local_18 = 0" identifier = number_literal) ;) (expression_statement "local_1c = '\x02';" (assignment_expression "local_1c = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "local_2c = PTR_LAB_0015b6d8 + 0x7abc;" (assignment_expression "local_2c = PTR_LAB_0015b6d8 + 0x7abc" identifier = (binary_expression "PTR_LAB_0015b6d8 + 0x7abc" identifier + number_literal)) ;) (expression_statement "local_28 = PTR_LAB_0015b65c + -0xbec;" (assignment_expression "local_28 = PTR_LAB_0015b65c + -0xbec" identifier = (binary_expression "PTR_LAB_0015b65c + -0xbec" identifier + number_literal)) ;) (if_statement "if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;" if (parenthesized_expression "((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0'))" ( (binary_expression "(param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')" (parenthesized_expression "(param_2 != (undefined1 *)0x0)" ( (binary_expression "param_2 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')" ( (comma_expression "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0'" (call_expression "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6d8 + 0x6e6c)" * (cast_expression "(code *)(PTR_LAB_0015b6d8 + 0x6e6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6d8 + 0x6e6c)" ( (binary_expression "PTR_LAB_0015b6d8 + 0x6e6c" identifier + number_literal) )))) )) (argument_list "(auStack_30)" ( identifier ))) , (binary_expression "local_1c == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_000c042c;" goto statement_identifier ;)) (expression_statement "(*(code *)(PTR_LAB_0015b714 + 0x1c50))();" (call_expression "(*(code *)(PTR_LAB_0015b714 + 0x1c50))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b714 + 0x1c50))" ( (pointer_expression "*(code *)(PTR_LAB_0015b714 + 0x1c50)" * (cast_expression "(code *)(PTR_LAB_0015b714 + 0x1c50)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b714 + 0x1c50)" ( (binary_expression "PTR_LAB_0015b714 + 0x1c50" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) }))) (if_statement "if (local_14 == *(int *)puVar3) {\n    return;\n  }" if (parenthesized_expression "(local_14 == *(int *)puVar3)" ( (binary_expression "local_14 == *(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 "puVar32 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar32 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_80 = puVar32 + 0xa3120;" (assignment_expression "puStack_80 = puVar32 + 0xa3120" identifier = (binary_expression "puVar32 + 0xa3120" identifier + number_literal)) ;) (expression_statement "puStack_70 = puVar3;" (assignment_expression "puStack_70 = puVar3" identifier = identifier) ;) (expression_statement "piVar26 = *(int **)(puVar32 + 0x9b59c);" (assignment_expression "piVar26 = *(int **)(puVar32 + 0x9b59c)" identifier = (pointer_expression "*(int **)(puVar32 + 0x9b59c)" * (cast_expression "(int **)(puVar32 + 0x9b59c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x9b59c)" ( (binary_expression "puVar32 + 0x9b59c" identifier + number_literal) ))))) ;) (expression_statement "iStack_74 = *piVar26;" (assignment_expression "iStack_74 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "puVar18 = puVar17;" (assignment_expression "puVar18 = puVar17" identifier = identifier) ;) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;) (expression_statement "puVar24 = param_3;" (assignment_expression "puVar24 = param_3" identifier = identifier) ;) (expression_statement "puStack_c0 = puVar3;" (assignment_expression "puStack_c0 = puVar3" identifier = identifier) ;) (expression_statement "puStack_b8 = param_2;" (assignment_expression "puStack_b8 = param_2" identifier = identifier) ;) (expression_statement "puStack_6c = param_1;" (assignment_expression "puStack_6c = param_1" identifier = identifier) ;) (expression_statement "puStack_68 = param_2;" (assignment_expression "puStack_68 = param_2" identifier = identifier) ;) (if_statement "if ((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }" if (parenthesized_expression "((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0))" ( (binary_expression "(*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)" (parenthesized_expression "(*(int *)(puVar20 + 0xc) == 0)" ( (binary_expression "*(int *)(puVar20 + 0xc) == 0" (pointer_expression "*(int *)(puVar20 + 0xc)" * (cast_expression "(int *)(puVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)" ( (comma_expression "unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0" (assignment_expression "unaff_s4 = *(int *)(puVar20 + 0x3c)" identifier = (pointer_expression "*(int *)(puVar20 + 0x3c)" * (cast_expression "(int *)(puVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x3c)" ( (binary_expression "puVar20 + 0x3c" identifier + number_literal) ))))) , (comma_expression "puStack_c0 = puVar20, unaff_s4 != 0" (assignment_expression "puStack_c0 = puVar20" identifier = identifier) , (binary_expression "unaff_s4 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }" { (expression_statement "param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);" (assignment_expression "param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1)" identifier = (cast_expression "(undefined1 *)(*(int *)(puVar17 + 0x2c) + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x2c) + 1)" ( (binary_expression "*(int *)(puVar17 + 0x2c) + 1" (pointer_expression "*(int *)(puVar17 + 0x2c)" * (cast_expression "(int *)(puVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2c)" ( (binary_expression "puVar17 + 0x2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined1 **)(puVar17 + 0x2c) = param_1;" (assignment_expression "*(undefined1 **)(puVar17 + 0x2c) = param_1" (pointer_expression "*(undefined1 **)(puVar17 + 0x2c)" * (cast_expression "(undefined1 **)(puVar17 + 0x2c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x2c)" ( (binary_expression "puVar17 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar20 + 0xc) = param_1;" (assignment_expression "*(undefined1 **)(puVar20 + 0xc) = param_1" (pointer_expression "*(undefined1 **)(puVar20 + 0xc)" * (cast_expression "(undefined1 **)(puVar20 + 0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_s6 = *(undefined1 **)(puVar17 + 8);" (assignment_expression "unaff_s6 = *(undefined1 **)(puVar17 + 8)" identifier = (pointer_expression "*(undefined1 **)(puVar17 + 8)" * (cast_expression "(undefined1 **)(puVar17 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 8)" ( (binary_expression "puVar17 + 8" identifier + number_literal) ))))) ;) (if_statement "if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }" if (parenthesized_expression "(unaff_s6 == (undefined1 *)0x0)" ( (binary_expression "unaff_s6 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }" { (expression_statement "unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();" (assignment_expression "unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))()" identifier = (cast_expression "(undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))()" (parenthesized_expression "(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))" ( (pointer_expression "*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c)" * (cast_expression "(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x9b280) + -0x371c)" ( (binary_expression "*(int *)(puVar32 + 0x9b280) + -0x371c" (pointer_expression "*(int *)(puVar32 + 0x9b280)" * (cast_expression "(int *)(puVar32 + 0x9b280)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x9b280)" ( (binary_expression "puVar32 + 0x9b280" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) })) (expression_statement "iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);" (assignment_expression "iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78)" identifier = (call_expression "(*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78)" (parenthesized_expression "(*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))" ( (pointer_expression "*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0)" * (cast_expression "(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0)" ( (binary_expression "*(int *)(puStack_80 + -0x7ed8) + 0x7cb0" (pointer_expression "*(int *)(puStack_80 + -0x7ed8)" * (cast_expression "(int *)(puStack_80 + -0x7ed8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_80 + -0x7ed8)" ( (binary_expression "puStack_80 + -0x7ed8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*(undefined4 *)(unaff_s4 + 0xc),&puStack_78)" ( (pointer_expression "*(undefined4 *)(unaff_s4 + 0xc)" * (cast_expression "(undefined4 *)(unaff_s4 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + 0xc)" ( (binary_expression "unaff_s4 + 0xc" identifier + number_literal) )))) , (pointer_expression "&puStack_78" & identifier) )))) ;) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }" { (expression_statement "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);" (call_expression "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1)" identifier (argument_list "(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1)" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s4 + 0xc)" * (cast_expression "(undefined4 *)(unaff_s4 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + 0xc)" ( (binary_expression "unaff_s4 + 0xc" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) (expression_statement "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);" (assignment_expression "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" ( (binary_expression "*(int *)(puStack_80 + -0x7ea0) + -0x3890" (pointer_expression "*(int *)(puStack_80 + -0x7ea0)" * (cast_expression "(int *)(puStack_80 + -0x7ea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_80 + -0x7ea0)" ( (binary_expression "puStack_80 + -0x7ea0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*unaff_s5)(unaff_s6,0xf,param_1,0);" (call_expression "(*unaff_s5)(unaff_s6,0xf,param_1,0)" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "(unaff_s6,0xf,param_1,0)" ( identifier , number_literal , identifier , number_literal ))) ;) (expression_statement "puVar21 = (undefined1 *)0x14;" (assignment_expression "puVar21 = (undefined1 *)0x14" identifier = (cast_expression "(undefined1 *)0x14" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) (expression_statement "puVar24 = param_1;" (assignment_expression "puVar24 = param_1" identifier = identifier) ;) (expression_statement "param_4 = param_3;" (assignment_expression "param_4 = param_3" identifier = identifier) ;) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }" else (compound_statement "{\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }" { (expression_statement "puVar21 = (undefined1 *)0x46;" (assignment_expression "puVar21 = (undefined1 *)0x46" identifier = (cast_expression "(undefined1 *)0x46" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) (expression_statement "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);" (assignment_expression "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" ( (binary_expression "*(int *)(puStack_80 + -0x7ea0) + -0x3890" (pointer_expression "*(int *)(puStack_80 + -0x7ea0)" * (cast_expression "(int *)(puStack_80 + -0x7ea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_80 + -0x7ea0)" ( (binary_expression "puStack_80 + -0x7ea0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar24 = puStack_78;" (assignment_expression "puVar24 = puStack_78" identifier = identifier) ;) (expression_statement "param_4 = param_1;" (assignment_expression "param_4 = param_1" identifier = identifier) ;) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" if (parenthesized_expression "(puStack_78 == (undefined1 *)0x0)" ( (binary_expression "puStack_78 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }" { (expression_statement "puVar24 = (undefined1 *)0x0;" (assignment_expression "puVar24 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) (expression_statement "puVar21 = &DAT_0000000b;" (assignment_expression "puVar21 = &DAT_0000000b" identifier = (pointer_expression "&DAT_0000000b" & identifier)) ;) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" identifier = identifier) ;) (expression_statement "param_4 = param_3;" (assignment_expression "param_4 = param_3" identifier = identifier) ;) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "()" ( ))) ;) }) (else_clause "else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" else (if_statement "if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" if (parenthesized_expression "(-1 < (int)puStack_78)" ( (binary_expression "-1 < (int)puStack_78" number_literal < (cast_expression "(int)puStack_78" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" { (expression_statement "puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);" (assignment_expression "puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6)" identifier = (cast_expression "(undefined1 *)(int)*(short *)(puVar20 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(short *)(puVar20 + 6)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar20 + 6)" * (cast_expression "(short *)(puVar20 + 6)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 6)" ( (binary_expression "puVar20 + 6" identifier + number_literal) ))))))) ;) (expression_statement "puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);" (assignment_expression "puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f)" identifier = (cast_expression "(undefined1 *)((int)puStack_78 >> 0x1f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puStack_78 >> 0x1f)" ( (binary_expression "(int)puStack_78 >> 0x1f" (cast_expression "(int)puStack_78" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }" if (parenthesized_expression "((int)puStack_78 < 8)" ( (binary_expression "(int)puStack_78 < 8" (cast_expression "(int)puStack_78" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }" { (expression_statement "sVar13 = 0x1e;" (assignment_expression "sVar13 = 0x1e" identifier = number_literal) ;) (expression_statement "puVar5 = puVar24;" (assignment_expression "puVar5 = puVar24" identifier = identifier) ;) (expression_statement "puVar19 = puStack_78;" (assignment_expression "puVar19 = puStack_78" identifier = identifier) ;) (if_statement "if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }" if (parenthesized_expression "(puStack_78 == (undefined1 *)0x1)" ( (binary_expression "puStack_78 == (undefined1 *)0x1" identifier == (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }" { (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }" if (parenthesized_expression "(0 < (int)puVar21)" ( (binary_expression "0 < (int)puVar21" number_literal < (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }" { (expression_statement "uVar16 = *(uint *)(puVar20 + 8);" (assignment_expression "uVar16 = *(uint *)(puVar20 + 8)" identifier = (pointer_expression "*(uint *)(puVar20 + 8)" * (cast_expression "(uint *)(puVar20 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000c0614;" goto statement_identifier ;) })) }) (else_clause "else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }" else (compound_statement "{\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }" { (do_statement "do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);" do (compound_statement "{\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            }" { (expression_statement "puVar18 = (undefined1 *)((int)puVar19 << 1);" (assignment_expression "puVar18 = (undefined1 *)((int)puVar19 << 1)" identifier = (cast_expression "(undefined1 *)((int)puVar19 << 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 << 1)" ( (binary_expression "(int)puVar19 << 1" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "sVar13 = sVar13 + -10;" (assignment_expression "sVar13 = sVar13 + -10" identifier = (binary_expression "sVar13 + -10" identifier + number_literal)) ;) (if_statement "if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;" if (parenthesized_expression "((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0)" ( (binary_expression "(int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0" (binary_expression "(int)puVar19 < 0" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) || (binary_expression "((uint)puVar5 & 0x7fffffff) != 0" (parenthesized_expression "((uint)puVar5 & 0x7fffffff)" ( (binary_expression "(uint)puVar5 & 0x7fffffff" (cast_expression "(uint)puVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puVar5 = (undefined1 *)0x0;" (assignment_expression "puVar5 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar19 = puVar18;" (assignment_expression "puVar19 = puVar18" identifier = identifier) ;) }) while (parenthesized_expression "(puVar18 < &DAT_00000008)" ( (binary_expression "puVar18 < &DAT_00000008" identifier < (pointer_expression "&DAT_00000008" & identifier)) )) ;) (expression_statement "param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);" (assignment_expression "param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20)" identifier = (cast_expression "(undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_80 + -0x7fb4) + 0x2c20)" ( (binary_expression "*(int *)(puStack_80 + -0x7fb4) + 0x2c20" (pointer_expression "*(int *)(puStack_80 + -0x7fb4)" * (cast_expression "(int *)(puStack_80 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_80 + -0x7fb4)" ( (binary_expression "puStack_80 + -0x7fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);" (assignment_expression "puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" identifier = (cast_expression "(undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" ( (binary_expression "(int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21" (cast_expression "(int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2))" ( (type_descriptor "int" primitive_type) ) (cast_expression "(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2))" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2))" ( (binary_expression "sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)" identifier + (pointer_expression "*(short *)(param_4 + ((uint)puVar18 & 7) * 2)" * (cast_expression "(short *)(param_4 + ((uint)puVar18 & 7) * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + ((uint)puVar18 & 7) * 2)" ( (binary_expression "param_4 + ((uint)puVar18 & 7) * 2" identifier + (binary_expression "((uint)puVar18 & 7) * 2" (parenthesized_expression "((uint)puVar18 & 7)" ( (binary_expression "(uint)puVar18 & 7" (cast_expression "(uint)puVar18" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) * number_literal)) ))))) )))) < (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }" if (parenthesized_expression "(puVar21 != (undefined1 *)0x0)" ( (binary_expression "puVar21 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }" { (expression_statement "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);" (assignment_expression "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f)" identifier = (cast_expression "(undefined1 *)((uint)puStack_78 >> 0x1f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puStack_78 >> 0x1f)" ( (binary_expression "(uint)puStack_78 >> 0x1f" (cast_expression "(uint)puStack_78" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "sVar13 = 0x1e;" (assignment_expression "sVar13 = 0x1e" identifier = number_literal) ;) (while_statement "while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }" { (expression_statement "puStack_78 = (undefined1 *)((int)puStack_78 << 1);" (assignment_expression "puStack_78 = (undefined1 *)((int)puStack_78 << 1)" identifier = (cast_expression "(undefined1 *)((int)puStack_78 << 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puStack_78 << 1)" ( (binary_expression "(int)puStack_78 << 1" (cast_expression "(int)puStack_78" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);" (assignment_expression "puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1)" identifier = (cast_expression "(undefined1 *)((uint)puVar21 | (int)puVar24 << 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar21 | (int)puVar24 << 1)" ( (binary_expression "(uint)puVar21 | (int)puVar24 << 1" (cast_expression "(uint)puVar21" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(int)puVar24 << 1" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) (if_statement "if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;" if (parenthesized_expression "((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))" ( (binary_expression "(puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78)" (parenthesized_expression "(puVar24 != (undefined1 *)0x0)" ( (binary_expression "puVar24 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78)" ( (comma_expression "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78" (assignment_expression "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f)" identifier = (cast_expression "(undefined1 *)((uint)puStack_78 >> 0x1f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puStack_78 >> 0x1f)" ( (binary_expression "(uint)puStack_78 >> 0x1f" (cast_expression "(uint)puStack_78" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) , (binary_expression "&DAT_00000007 < puStack_78" (pointer_expression "&DAT_00000007" & identifier) < identifier)) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar24 = (undefined1 *)0x0;" (assignment_expression "puVar24 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar13 = sVar13 + -10;" (assignment_expression "sVar13 = sVar13 + -10" identifier = (binary_expression "sVar13 + -10" identifier + number_literal)) ;) })) (expression_statement "puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);" (assignment_expression "puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2)" identifier = (binary_expression "(undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2)" (cast_expression "(undefined1 *)(uint)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + ((uint)puStack_78 & 7) * 2)" ( (binary_expression "param_4 + ((uint)puStack_78 & 7) * 2" identifier + (binary_expression "((uint)puStack_78 & 7) * 2" (parenthesized_expression "((uint)puStack_78 & 7)" ( (binary_expression "(uint)puStack_78 & 7" (cast_expression "(uint)puStack_78" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) * number_literal)) ))))) ;) (goto_statement "goto LAB_000c0604;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }" else (compound_statement "{\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }" { (if_statement "if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }" if (parenthesized_expression "((int)puStack_78 < 0)" ( (binary_expression "(int)puStack_78 < 0" (cast_expression "(int)puStack_78" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            iVar4 = LZCOUNT(puVar24);\n          }" { (expression_statement "iVar4 = LZCOUNT(puVar24);" (assignment_expression "iVar4 = LZCOUNT(puVar24)" identifier = (call_expression "LZCOUNT(puVar24)" identifier (argument_list "(puVar24)" ( identifier )))) ;) }) (else_clause "else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }" else (compound_statement "{\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }" { (expression_statement "iVar4 = LZCOUNT(puStack_78) + 0x20;" (assignment_expression "iVar4 = LZCOUNT(puStack_78) + 0x20" identifier = (binary_expression "LZCOUNT(puStack_78) + 0x20" (call_expression "LZCOUNT(puStack_78)" identifier (argument_list "(puStack_78)" ( identifier ))) + number_literal)) ;) }))) (expression_statement "uVar15 = 0x3c - iVar4;" (assignment_expression "uVar15 = 0x3c - iVar4" identifier = (binary_expression "0x3c - iVar4" number_literal - identifier)) ;) (expression_statement "param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));" (assignment_expression "param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f))" identifier = (cast_expression "(undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)puVar24 << 1) << (~uVar15 & 0x1f))" ( (binary_expression "((int)puVar24 << 1) << (~uVar15 & 0x1f)" (parenthesized_expression "((int)puVar24 << 1)" ( (binary_expression "(int)puVar24 << 1" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )) << (parenthesized_expression "(~uVar15 & 0x1f)" ( (binary_expression "~uVar15 & 0x1f" (unary_expression "~uVar15" ~ identifier) & number_literal) ))) )))) ;) (expression_statement "uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);" (assignment_expression "uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f)" identifier = (binary_expression "(uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f)" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(uint)puStack_78 >> (uVar15 & 0x1f)" (cast_expression "(uint)puStack_78" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar15 & 0x1f)" ( (binary_expression "uVar15 & 0x1f" identifier & number_literal) ))))) ;) (if_statement "if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }" if (parenthesized_expression "((uVar15 & 0x20) != 0)" ( (binary_expression "(uVar15 & 0x20) != 0" (parenthesized_expression "(uVar15 & 0x20)" ( (binary_expression "uVar15 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }" { (expression_statement "uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);" (assignment_expression "uVar16 = (uint)puVar24 >> (uVar15 & 0x1f)" identifier = (binary_expression "(uint)puVar24 >> (uVar15 & 0x1f)" (cast_expression "(uint)puVar24" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar15 & 0x1f)" ( (binary_expression "uVar15 & 0x1f" identifier & number_literal) )))) ;) })) (expression_statement "puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);" (assignment_expression "puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e)" identifier = (cast_expression "(undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar15 * 10 & 0xffff) + 0x1e)" ( (binary_expression "(uVar15 * 10 & 0xffff) + 0x1e" (parenthesized_expression "(uVar15 * 10 & 0xffff)" ( (binary_expression "uVar15 * 10 & 0xffff" (binary_expression "uVar15 * 10" identifier * number_literal) & number_literal) )) + number_literal) )))) ;) (expression_statement "uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);" (assignment_expression "uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" identifier = (pointer_expression "*(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" * (cast_expression "(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" ( (binary_expression "(uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20" (binary_expression "(uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4)" (binary_expression "(uVar16 & 7) * 2" (parenthesized_expression "(uVar16 & 7)" ( (binary_expression "uVar16 & 7" identifier & number_literal) )) * number_literal) + (pointer_expression "*(int *)(puStack_80 + -0x7fb4)" * (cast_expression "(int *)(puStack_80 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_80 + -0x7fb4)" ( (binary_expression "puStack_80 + -0x7fb4" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "puVar18 = (undefined1 *)(uint)uVar1;" (assignment_expression "puVar18 = (undefined1 *)(uint)uVar1" identifier = (cast_expression "(undefined1 *)(uint)uVar1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)uVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "sVar13 = (short)(uVar15 * 10) + 0x28;" (assignment_expression "sVar13 = (short)(uVar15 * 10) + 0x28" identifier = (binary_expression "(short)(uVar15 * 10) + 0x28" (cast_expression "(short)(uVar15 * 10)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(uVar15 * 10)" ( (binary_expression "uVar15 * 10" identifier * number_literal) ))) + number_literal)) ;) (expression_statement "puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);" (assignment_expression "puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" identifier = (cast_expression "(undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" ( (binary_expression "(int)(short)(uVar1 + (short)puVar24) < (int)puVar21" (cast_expression "(int)(short)(uVar1 + (short)puVar24)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(short)(uVar1 + (short)puVar24)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(uVar1 + (short)puVar24)" ( (binary_expression "uVar1 + (short)puVar24" identifier + (cast_expression "(short)puVar24" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) )))) < (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }" if (parenthesized_expression "(puVar21 != (undefined1 *)0x0)" ( (binary_expression "puVar21 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }" { (labeled_statement "LAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;" statement_identifier : (expression_statement "sVar13 = (short)puVar18 + sVar13 + -10;" (assignment_expression "sVar13 = (short)puVar18 + sVar13 + -10" identifier = (binary_expression "(short)puVar18 + sVar13 + -10" (binary_expression "(short)puVar18 + sVar13" (cast_expression "(short)puVar18" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + identifier) + number_literal)) ;)) (expression_statement "uVar16 = *(uint *)(puVar20 + 8);" (assignment_expression "uVar16 = *(uint *)(puVar20 + 8)" identifier = (pointer_expression "*(uint *)(puVar20 + 8)" * (cast_expression "(uint *)(puVar20 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;" statement_identifier : (expression_statement "*(short *)(puVar20 + 6) = sVar13;" (assignment_expression "*(short *)(puVar20 + 6) = sVar13" (pointer_expression "*(short *)(puVar20 + 6)" * (cast_expression "(short *)(puVar20 + 6)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 6)" ( (binary_expression "puVar20 + 6" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(uint *)(puVar20 + 8) = uVar16 | 0x4000;" (assignment_expression "*(uint *)(puVar20 + 8) = uVar16 | 0x4000" (pointer_expression "*(uint *)(puVar20 + 8)" * (cast_expression "(uint *)(puVar20 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) )))) = (binary_expression "uVar16 | 0x4000" identifier | number_literal)) ;) })) }))) })))) }))) (expression_statement "puStack_b8 = puVar17;" (assignment_expression "puStack_b8 = puVar17" identifier = identifier) ;) (expression_statement "unaff_s7 = param_3;" (assignment_expression "unaff_s7 = param_3" identifier = identifier) ;) (if_statement "if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }" if (parenthesized_expression "(*(int *)(unaff_s4 + 0x10) != 0)" ( (binary_expression "*(int *)(unaff_s4 + 0x10) != 0" (pointer_expression "*(int *)(unaff_s4 + 0x10)" * (cast_expression "(int *)(unaff_s4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + 0x10)" ( (binary_expression "unaff_s4 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }" { (expression_statement "unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;" (assignment_expression "unaff_s8 = *(int *)(puVar17 + 0x2c) + 1" identifier = (binary_expression "*(int *)(puVar17 + 0x2c) + 1" (pointer_expression "*(int *)(puVar17 + 0x2c)" * (cast_expression "(int *)(puVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2c)" ( (binary_expression "puVar17 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);" (assignment_expression "unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2)" identifier = (cast_expression "(undefined1 *)(*(int *)(puVar17 + 0x2c) + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x2c) + 2)" ( (binary_expression "*(int *)(puVar17 + 0x2c) + 2" (pointer_expression "*(int *)(puVar17 + 0x2c)" * (cast_expression "(int *)(puVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2c)" ( (binary_expression "puVar17 + 0x2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(int *)(puVar20 + 0x10) = unaff_s8;" (assignment_expression "*(int *)(puVar20 + 0x10) = unaff_s8" (pointer_expression "*(int *)(puVar20 + 0x10)" * (cast_expression "(int *)(puVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar17 + 0x2c) = unaff_s7;" (assignment_expression "*(undefined1 **)(puVar17 + 0x2c) = unaff_s7" (pointer_expression "*(undefined1 **)(puVar17 + 0x2c)" * (cast_expression "(undefined1 **)(puVar17 + 0x2c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x2c)" ( (binary_expression "puVar17 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);" (call_expression "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8)" identifier (argument_list "(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8)" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s4 + 0x10)" * (cast_expression "(undefined4 *)(unaff_s4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + 0x10)" ( (binary_expression "unaff_s4 + 0x10" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) (expression_statement "(*unaff_s5)(unaff_s6,0xf,unaff_s8,0);" (call_expression "(*unaff_s5)(unaff_s6,0xf,unaff_s8,0)" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "(unaff_s6,0xf,unaff_s8,0)" ( identifier , number_literal , identifier , number_literal ))) ;) (expression_statement "puVar21 = (undefined1 *)0x98;" (assignment_expression "puVar21 = (undefined1 *)0x98" identifier = (cast_expression "(undefined1 *)0x98" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" identifier = identifier) ;) (expression_statement "puVar24 = param_1;" (assignment_expression "puVar24 = param_1" identifier = identifier) ;) (expression_statement "param_4 = unaff_s7;" (assignment_expression "param_4 = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_88 = unaff_s8;" (assignment_expression "iStack_88 = unaff_s8" identifier = identifier) ;) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" ( (pointer_expression "*unaff_s5" * identifier) )) (argument_list "()" ( ))) ;) })) })) (if_statement "if (iStack_74 == *piVar26) {\n    return;\n  }" if (parenthesized_expression "(iStack_74 == *piVar26)" ( (binary_expression "iStack_74 == *piVar26" identifier == (pointer_expression "*piVar26" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar33 = *(code **)(puStack_80 + -0x7ba0);" (assignment_expression "pcVar33 = *(code **)(puStack_80 + -0x7ba0)" identifier = (pointer_expression "*(code **)(puStack_80 + -0x7ba0)" * (cast_expression "(code **)(puStack_80 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_80 + -0x7ba0)" ( (binary_expression "puStack_80 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = FUN_000c082c;" (assignment_expression "pcVar36 = FUN_000c082c" identifier = identifier) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar30 = *(int **)(pcVar33 + 0x9b200);" (assignment_expression "piVar30 = *(int **)(pcVar33 + 0x9b200)" identifier = (pointer_expression "*(int **)(pcVar33 + 0x9b200)" * (cast_expression "(int **)(pcVar33 + 0x9b200)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x9b200)" ( (binary_expression "pcVar33 + 0x9b200" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(puVar21 + 0x44);" (assignment_expression "iVar4 = *(int *)(puVar21 + 0x44)" identifier = (pointer_expression "*(int *)(puVar21 + 0x44)" * (cast_expression "(int *)(puVar21 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x44)" ( (binary_expression "puVar21 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "iStack_c4 = *piVar30;" (assignment_expression "iStack_c4 = *piVar30" identifier = (pointer_expression "*piVar30" * identifier)) ;) (expression_statement "uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;" (assignment_expression "uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00" identifier = (binary_expression "*(uint *)(iVar4 + 0xc) & 0xffff00" (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puStack_bc = param_1;" (assignment_expression "puStack_bc = param_1" identifier = identifier) ;) (expression_statement "piStack_b4 = piVar26;" (assignment_expression "piStack_b4 = piVar26" identifier = identifier) ;) (expression_statement "iStack_b0 = unaff_s4;" (assignment_expression "iStack_b0 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStack_ac = unaff_s5;" (assignment_expression "pcStack_ac = unaff_s5" identifier = identifier) ;) (expression_statement "puStack_a8 = unaff_s6;" (assignment_expression "puStack_a8 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_a4 = unaff_s7;" (assignment_expression "puStack_a4 = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_a0 = unaff_s8;" (assignment_expression "iStack_a0 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_9c = pcVar36;" (assignment_expression "pcStack_9c = pcVar36" identifier = identifier) ;) (expression_statement "puStack_8c = param_4;" (assignment_expression "puStack_8c = param_4" identifier = identifier) ;) (if_statement "if (*(char *)(iVar4 + 0xc) == 'L') {\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" if (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'L')" ( (binary_expression "*(char *)(iVar4 + 0xc) == 'L'" (pointer_expression "*(char *)(iVar4 + 0xc)" * (cast_expression "(char *)(iVar4 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) == (char_literal "'L'" ' character ')) )) (compound_statement "{\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" { (if_statement "if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;" if (parenthesized_expression "((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))" ( (binary_expression "(uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0)" (parenthesized_expression "(uVar16 == 0x575200)" ( (binary_expression "uVar16 == 0x575200" identifier == number_literal) )) && (parenthesized_expression "(iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0)" ( (comma_expression "iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0" (assignment_expression "iVar22 = *(int *)(pcVar33 + 0x9ae68)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" * (cast_expression "(int *)(pcVar33 + 0x9ae68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae68)" ( (binary_expression "pcVar33 + 0x9ae68" identifier + number_literal) ))))) , (binary_expression "*(int *)(iVar4 + 8) != 0" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) != number_literal)) ))) )) (goto_statement "goto LAB_000c08b4;" goto statement_identifier ;)) (expression_statement "piVar26 = *(int **)(puVar18 + 8);" (assignment_expression "piVar26 = *(int **)(puVar18 + 8)" identifier = (pointer_expression "*(int **)(puVar18 + 8)" * (cast_expression "(int **)(puVar18 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (if_statement "if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }" if (parenthesized_expression "(piVar26 == (int *)0x0)" ( (binary_expression "piVar26 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }" { (expression_statement "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);" (assignment_expression "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" identifier = (cast_expression "(int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x371c" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18)" ( identifier ))))) ;) })) (expression_statement "iVar31 = *(int *)(puVar18 + 0x28);" (assignment_expression "iVar31 = *(int *)(puVar18 + 0x28)" identifier = (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(puVar18 + 0x2c);" (assignment_expression "iVar22 = *(int *)(puVar18 + 0x2c)" identifier = (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar23 = *(int *)(pcVar33 + 0x9aee8);" (assignment_expression "iVar23 = *(int *)(pcVar33 + 0x9aee8)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iVar22 + 3;" (assignment_expression "iVar6 = iVar22 + 3" identifier = (binary_expression "iVar22 + 3" identifier + number_literal)) ;) (expression_statement "iVar34 = *(int *)(puVar18 + 0x38) + -2;" (assignment_expression "iVar34 = *(int *)(puVar18 + 0x38) + -2" identifier = (binary_expression "*(int *)(puVar18 + 0x38) + -2" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 0x28) = iVar31 + 2;" (assignment_expression "*(int *)(puVar18 + 0x28) = iVar31 + 2" (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) )))) = (binary_expression "iVar31 + 2" identifier + number_literal)) ;) (expression_statement "iVar25 = *(int *)(puVar18 + 0x38) + -1;" (assignment_expression "iVar25 = *(int *)(puVar18 + 0x38) + -1" identifier = (binary_expression "*(int *)(puVar18 + 0x38) + -1" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar28 = iVar22 + 1;" (assignment_expression "iVar28 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 0x2c) = iVar6;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar6" (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + 0x38) = iVar34;" (assignment_expression "*(int *)(puVar18 + 0x38) = iVar34" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar22 = iVar22 + 2;" (assignment_expression "iVar22 = iVar22 + 2" identifier = (binary_expression "iVar22 + 2" identifier + number_literal)) ;) (expression_statement "iVar12 = iVar31 + 1;" (assignment_expression "iVar12 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) (expression_statement "uStack_c8 = 0;" (assignment_expression "uStack_c8 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);" (call_expression "(*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8)" (parenthesized_expression "(*(code *)(iVar23 + -0x7e94))" ( (pointer_expression "*(code *)(iVar23 + -0x7e94)" * (cast_expression "(code *)(iVar23 + -0x7e94)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e94)" ( (binary_expression "iVar23 + -0x7e94" identifier + number_literal) )))) )) (argument_list "(puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8)" ( identifier , (binary_expression "puVar21 + 0x20" identifier + number_literal) , (pointer_expression "*(undefined4 *)(puVar21 + 0x44)" * (cast_expression "(undefined4 *)(puVar21 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x44)" ( (binary_expression "puVar21 + 0x44" identifier + number_literal) )))) , identifier , identifier , identifier , (pointer_expression "&uStack_c8" & identifier) ))) ;) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);" (assignment_expression "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0)" identifier = (call_expression "(*pcVar36)(piVar26,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,0,0)" ( identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3c14)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3c14" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar35)(piVar26,iVar25);" (call_expression "(*pcVar35)(piVar26,iVar25)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(piVar26,iVar25)" ( identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);" (call_expression "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x11,0,piVar26[0x1b] + 3,0)" ( identifier , number_literal , number_literal , (binary_expression "piVar26[0x1b] + 3" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);" (call_expression "(*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);" (call_expression "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal ))) ;) (if_statement "if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x10) != 0" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }" { (expression_statement "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);" (call_expression "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22)" identifier (argument_list "(puVar18,*(int *)(iVar4 + 0x10),iVar22)" ( identifier , (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2920" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar22,0)" ( identifier , identifier , number_literal ))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x14) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x14) != 0" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }" { (expression_statement "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);" (call_expression "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6)" identifier (argument_list "(puVar18,*(int *)(iVar4 + 0x14),iVar6)" ( identifier , (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2920" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar6,1)" ( identifier , identifier , number_literal ))) ;) (if_statement "if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }" if (parenthesized_expression "((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S'))" ( (binary_expression "(*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')" (parenthesized_expression "(*(int *)(iVar4 + 0x14) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x14) != 0" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(char *)(iVar4 + 0xd) == 'S')" ( (binary_expression "*(char *)(iVar4 + 0xd) == 'S'" (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) )))) == (char_literal "'S'" ' character ')) ))) )) (compound_statement "{\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }" { (expression_statement "(*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);" (call_expression "(*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6)" ( identifier , number_literal , identifier , (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);" (call_expression "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x4e,uStack_c8,iVar22,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);" (call_expression "(*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x61,iVar22,iVar6,iVar6)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) })) })) (if_statement "if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }" if (parenthesized_expression "((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U'))" ( (binary_expression "(*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')" (parenthesized_expression "(*(int *)(iVar4 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x10) != 0" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'U')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'U'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'U'" ' character ')) ))) )) (compound_statement "{\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }" { (expression_statement "(*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);" (call_expression "(*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6)" ( identifier , number_literal , identifier , (binary_expression "piVar26[0x1b] + 3" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);" (call_expression "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x4e,uStack_c8,iVar22,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x4e,uStack_c8,iVar6,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) })) (expression_statement "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);" (assignment_expression "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" identifier = (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2e00" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4)" ( identifier , identifier )))) ;) (expression_statement "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);" (call_expression "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x24,iVar31,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar31,iVar34,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,iVar31,iVar34,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }" if (parenthesized_expression "(0 < piVar26[0x1b])" ( (binary_expression "0 < piVar26[0x1b]" number_literal < (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) )) (compound_statement "{\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }" { (expression_statement "*(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;" (assignment_expression "*(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1" (pointer_expression "*(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12)" * (cast_expression "(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12)" ( (binary_expression "piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12" (binary_expression "piVar26[0x1a] + piVar26[0x1b] * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "piVar26[0x1b] * 0x14" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) * number_literal)) + number_literal) )))) = number_literal) ;) })) (expression_statement "(*pcVar36)(piVar26,0x24,iVar12,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar12,iVar34,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,iVar12,iVar34,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "iVar23 = piVar26[0x1b];" (assignment_expression "iVar23 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }" if (parenthesized_expression "(0 < iVar23)" ( (binary_expression "0 < iVar23" number_literal < identifier) )) (compound_statement "{\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }" { (expression_statement "*(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;" (assignment_expression "*(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1" (pointer_expression "*(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12)" * (cast_expression "(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iVar23 * 0x14 + -0x12)" ( (binary_expression "piVar26[0x1a] + iVar23 * 0x14 + -0x12" (binary_expression "piVar26[0x1a] + iVar23 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar23 * 0x14" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "iVar23 = piVar26[0x1b];" (assignment_expression "iVar23 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) })) (if_statement "if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'U')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'U'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'U'" ' character ')) )) (compound_statement "{\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }" { (expression_statement "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);" (assignment_expression "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1)" identifier = (call_expression "(*pcVar36)(piVar26,0x2f,iVar6,0,1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x2f,iVar6,0,1)" ( identifier , number_literal , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar25 = piVar26[0x1b];" (assignment_expression "iVar25 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) }) (else_clause "else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }" else (compound_statement "{\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }" { (expression_statement "iStack_e8 = 0;" (assignment_expression "iStack_e8 = 0" identifier = number_literal) ;) (expression_statement "iVar25 = iVar23;" (assignment_expression "iVar25 = iVar23" identifier = identifier) ;) }))) (expression_statement "(*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);" (call_expression "(*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,iVar12,iVar25 + 2,0)" ( identifier , number_literal , identifier , (binary_expression "iVar25 + 2" identifier + number_literal) , number_literal ))) ;) (expression_statement "iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);" (assignment_expression "iVar25 = (*pcVar36)(piVar26,0xb,0,0,0)" identifier = (call_expression "(*pcVar36)(piVar26,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,0,0)" ( identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "iVar10 = *(int *)(pcVar33 + 0x9aee8);" (assignment_expression "iVar10 = *(int *)(pcVar33 + 0x9aee8)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);" (call_expression "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(iVar10 + -0x7af4))" ( (pointer_expression "*(code *)(iVar10 + -0x7af4)" * (cast_expression "(code *)(iVar10 + -0x7af4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x7af4)" ( (binary_expression "iVar10 + -0x7af4" identifier + number_literal) )))) )) (argument_list "(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" ( identifier , identifier , identifier , number_literal , identifier , identifier ))) ;) (if_statement "if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'W')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'W'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'W'" ' character ')) )) (compound_statement "{\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }" { (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar23,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar23,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,iVar23,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "iVar23 = piVar26[0x1b];" (assignment_expression "iVar23 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }" if (parenthesized_expression "(iVar25 < 0)" ( (binary_expression "iVar25 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar25 = iVar23 + -1;\n      }" { (expression_statement "iVar25 = iVar23 + -1;" (assignment_expression "iVar25 = iVar23 + -1" identifier = (binary_expression "iVar23 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" { (expression_statement "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23" (pointer_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" * (cast_expression "(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iVar25 * 0x14 + 8)" ( (binary_expression "piVar26[0x1a] + iVar25 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar25 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar25 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" identifier = (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" else (compound_statement "{\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" identifier = (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) ))))) ;) }))) }) (else_clause "else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }" else (compound_statement "{\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }" { (expression_statement "iVar12 = piVar26[0x1b];" (assignment_expression "iVar12 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }" if (parenthesized_expression "(iVar25 < 0)" ( (binary_expression "iVar25 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar25 = iVar12 + -1;\n      }" { (expression_statement "iVar25 = iVar12 + -1;" (assignment_expression "iVar25 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }" { (expression_statement "iVar25 = piVar26[0x1a] + iVar25 * 0x14;" (assignment_expression "iVar25 = piVar26[0x1a] + iVar25 * 0x14" identifier = (binary_expression "piVar26[0x1a] + iVar25 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar25 * 0x14" identifier * number_literal))) ;) }) (else_clause "else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }" else (compound_statement "{\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }" { (expression_statement "iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;" (assignment_expression "iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514" identifier = (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x4514" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "*(int *)(iVar25 + 8) = iVar12;" (assignment_expression "*(int *)(iVar25 + 8) = iVar12" (pointer_expression "*(int *)(iVar25 + 8)" * (cast_expression "(int *)(iVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 8)" ( (binary_expression "iVar25 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" identifier = (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) ))))) ;) (if_statement "if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }" if (parenthesized_expression "(cVar14 == 'U')" ( (binary_expression "cVar14 == 'U'" identifier == (char_literal "'U'" ' character ')) )) (compound_statement "{\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }" { (expression_statement "iVar25 = iVar12 + -1;" (assignment_expression "iVar25 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (if_statement "if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }" if (parenthesized_expression "(-1 < iStack_e8)" ( (binary_expression "-1 < iStack_e8" number_literal < identifier) )) (compound_statement "{\n          iVar25 = iStack_e8;\n        }" { (expression_statement "iVar25 = iStack_e8;" (assignment_expression "iVar25 = iStack_e8" identifier = identifier) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" { (expression_statement "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12" (pointer_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" * (cast_expression "(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iVar25 * 0x14 + 8)" ( (binary_expression "piVar26[0x1a] + iVar25 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar25 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar25 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" identifier = (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" else (compound_statement "{\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" identifier = (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) ))))) ;) }))) })) }))) (if_statement "if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }" if (parenthesized_expression "(cVar14 == 'S')" ( (binary_expression "cVar14 == 'S'" identifier == (char_literal "'S'" ' character ')) )) (compound_statement "{\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }" { (expression_statement "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);" (assignment_expression "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1)" identifier = (call_expression "(*pcVar36)(piVar26,0x2f,iVar6,0,1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x2f,iVar6,0,1)" ( identifier , number_literal , identifier , number_literal , number_literal )))) ;) })) (if_statement "if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0xd) == 'S')" ( (binary_expression "*(char *)(iVar4 + 0xd) == 'S'" (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) )))) == (char_literal "'S'" ' character ')) )) (compound_statement "{\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }" { (expression_statement "iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);" (assignment_expression "iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1)" identifier = (call_expression "(*pcVar36)(piVar26,0x2f,iVar22,0,1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x2f,iVar22,0,1)" ( identifier , number_literal , identifier , number_literal , number_literal )))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2524" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,puStack_8c,iStack_88)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar34,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,iVar34,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }" if (parenthesized_expression "(uVar16 == 0x53)" ( (binary_expression "uVar16 == 0x53" identifier == number_literal) )) (compound_statement "{\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }" { (expression_statement "iVar12 = piVar26[0x1b];" (assignment_expression "iVar12 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar6 = iVar12 + -1;\n        }" { (expression_statement "iVar6 = iVar12 + -1;" (assignment_expression "iVar6 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) })) (goto_statement "goto LAB_000c1d20;" goto statement_identifier ;) })) }) (else_clause "else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }" else (compound_statement "{\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }" { (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2524" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,puStack_8c,iStack_88)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar34,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,iVar34,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }" if (parenthesized_expression "(uVar16 == 0x53)" ( (binary_expression "uVar16 == 0x53" identifier == number_literal) )) (compound_statement "{\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }" { (expression_statement "iVar12 = piVar26[0x1b];" (assignment_expression "iVar12 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" statement_identifier : (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" { (expression_statement "*(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12" (pointer_expression "*(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8)" * (cast_expression "(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iVar6 * 0x14 + 8)" ( (binary_expression "piVar26[0x1a] + iVar6 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar6 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar6 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" else (compound_statement "{\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) })))) })) }))) (if_statement "if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }" if (parenthesized_expression "((uVar16 - 0x52 < 2) || (uVar16 == 0x55))" ( (binary_expression "(uVar16 - 0x52 < 2) || (uVar16 == 0x55)" (parenthesized_expression "(uVar16 - 0x52 < 2)" ( (binary_expression "uVar16 - 0x52 < 2" (binary_expression "uVar16 - 0x52" identifier - number_literal) < number_literal) )) || (parenthesized_expression "(uVar16 == 0x55)" ( (binary_expression "uVar16 == 0x55" identifier == number_literal) ))) )) (compound_statement "{\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }" { (expression_statement "iVar6 = *(int *)(puVar18 + 0x38) + -1;" (assignment_expression "iVar6 = *(int *)(puVar18 + 0x38) + -1" identifier = (binary_expression "*(int *)(puVar18 + 0x38) + -1" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 0x38) = iVar6;" (assignment_expression "*(int *)(puVar18 + 0x38) = iVar6" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xd);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xd)" identifier = (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }" if (parenthesized_expression "(cVar14 == 'U')" ( (binary_expression "cVar14 == 'U'" identifier == (char_literal "'U'" ' character ')) )) (compound_statement "{\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }" { (expression_statement "(*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);" (call_expression "(*pcVar36)(piVar26,0x2f,iVar22,iVar6,1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x2f,iVar22,iVar6,1)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "cVar14 = *(char *)(iVar4 + 0xd);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xd)" identifier = (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;) })) (if_statement "if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }" if (parenthesized_expression "(cVar14 == 'S')" ( (binary_expression "cVar14 == 'S'" identifier == (char_literal "'S'" ' character ')) )) (compound_statement "{\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }" { (expression_statement "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,iVar31,piVar26[0x1b] + 2,0)" ( identifier , number_literal , identifier , (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar6,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,iVar6,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) }) (else_clause "else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }" else (compound_statement "{\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }" { (expression_statement "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);" (call_expression "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,iVar31,piVar26[0x1b] + 1,0)" ( identifier , number_literal , identifier , (binary_expression "piVar26[0x1b] + 1" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) }))) (expression_statement "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);" (call_expression "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(iVar10 + -0x7af4))" ( (pointer_expression "*(code *)(iVar10 + -0x7af4)" * (cast_expression "(code *)(iVar10 + -0x7af4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x7af4)" ( (binary_expression "iVar10 + -0x7af4" identifier + number_literal) )))) )) (argument_list "(puVar18,iVar4,iVar31,1,uVar7,uStack_c8)" ( identifier , identifier , identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcVar35)(piVar26,iVar6);" (call_expression "(*pcVar35)(piVar26,iVar6)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(piVar26,iVar6)" ( identifier , identifier ))) ;) })) (if_statement "if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'S')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'S'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'S'" ' character ')) )) (compound_statement "{\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }" { (expression_statement "iVar22 = piVar26[0x1b];" (assignment_expression "iVar22 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }" if (parenthesized_expression "(iStack_e8 < 0)" ( (binary_expression "iStack_e8 < 0" identifier < number_literal) )) (compound_statement "{\n        iStack_e8 = iVar22 + -1;\n      }" { (expression_statement "iStack_e8 = iVar22 + -1;" (assignment_expression "iStack_e8 = iVar22 + -1" identifier = (binary_expression "iVar22 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }" { (expression_statement "*(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;" (assignment_expression "*(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22" (pointer_expression "*(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8)" * (cast_expression "(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iStack_e8 * 0x14 + 8)" ( (binary_expression "piVar26[0x1a] + iStack_e8 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iStack_e8 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iStack_e8 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }" else (compound_statement "{\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) })) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar23,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar23,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,iVar23,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "(*pcVar35)(piVar26,iVar34);" (call_expression "(*pcVar35)(piVar26,iVar34)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(piVar26,iVar34)" ( identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);" (call_expression "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal , number_literal ))) ;) }) (else_clause "else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" else (compound_statement "{\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" { (expression_statement "iVar22 = *(int *)(pcVar33 + 0x9ae68);" (assignment_expression "iVar22 = *(int *)(pcVar33 + 0x9ae68)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" * (cast_expression "(int *)(pcVar33 + 0x9ae68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae68)" ( (binary_expression "pcVar33 + 0x9ae68" identifier + number_literal) ))))) ;) (if_statement "if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }" if (parenthesized_expression "(uVar16 != 0x525700)" ( (binary_expression "uVar16 != 0x525700" identifier != number_literal) )) (compound_statement "{\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }" { (labeled_statement "LAB_000c08b4:\n      iVar28 = iVar4;" statement_identifier : (expression_statement "iVar28 = iVar4;" (assignment_expression "iVar28 = iVar4" identifier = identifier) ;)) (do_statement "do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);" do (compound_statement "{\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      }" { (if_statement "if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;" if (parenthesized_expression "(((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c))))" ( (binary_expression "((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))" (parenthesized_expression "((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00))" ( (binary_expression "(((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)" (parenthesized_expression "(((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4))" ( (binary_expression "((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)" (parenthesized_expression "((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0)" ( (binary_expression "(*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0" (parenthesized_expression "(*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000)" ( (binary_expression "*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000" (pointer_expression "*(uint *)(*(int *)(iVar28 + 0x20) + 4)" * (cast_expression "(uint *)(*(int *)(iVar28 + 0x20) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar28 + 0x20) + 4)" ( (binary_expression "*(int *)(iVar28 + 0x20) + 4" (pointer_expression "*(int *)(iVar28 + 0x20)" * (cast_expression "(int *)(iVar28 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x20)" ( (binary_expression "iVar28 + 0x20" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)" ( (comma_expression "iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4" (assignment_expression "iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(iVar28 + 0x20) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar28 + 0x20) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar28 + 0x20) + 0x20)" ( (binary_expression "*(int *)(iVar28 + 0x20) + 0x20" (pointer_expression "*(int *)(iVar28 + 0x20)" * (cast_expression "(int *)(iVar28 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x20)" ( (binary_expression "iVar28 + 0x20" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "iVar6 == iVar22 + -0x7df4" identifier == (binary_expression "iVar22 + -0x7df4" identifier + number_literal))) ))) )) || (parenthesized_expression "(iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)" ( (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00" identifier == (binary_expression "*(int *)(pcVar33 + 0x9ae68) + -0x7e00" (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" * (cast_expression "(int *)(pcVar33 + 0x9ae68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae68)" ( (binary_expression "pcVar33 + 0x9ae68" identifier + number_literal) )))) + number_literal)) ))) )) || (parenthesized_expression "((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))" ( (parenthesized_expression "(iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c))" ( (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)" (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08" identifier == (binary_expression "*(int *)(pcVar33 + 0x9ae68) + -0x7e08" (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" * (cast_expression "(int *)(pcVar33 + 0x9ae68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae68)" ( (binary_expression "pcVar33 + 0x9ae68" identifier + number_literal) )))) + number_literal)) || (parenthesized_expression "(iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)" ( (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c" identifier == (binary_expression "*(int *)(pcVar33 + 0x9ae68) + -0x7e0c" (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" * (cast_expression "(int *)(pcVar33 + 0x9ae68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae68)" ( (binary_expression "pcVar33 + 0x9ae68" identifier + number_literal) )))) + number_literal)) ))) )) ))) )) (goto_statement "goto LAB_000c0c60;" goto statement_identifier ;)) (expression_statement "iVar28 = *(int *)(iVar28 + 0x18);" (assignment_expression "iVar28 = *(int *)(iVar28 + 0x18)" identifier = (pointer_expression "*(int *)(iVar28 + 0x18)" * (cast_expression "(int *)(iVar28 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x18)" ( (binary_expression "iVar28 + 0x18" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) ;) (expression_statement "piVar27 = *(int **)(puVar18 + 8);" (assignment_expression "piVar27 = *(int **)(puVar18 + 8)" identifier = (pointer_expression "*(int **)(puVar18 + 8)" * (cast_expression "(int **)(puVar18 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (if_statement "if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }" if (parenthesized_expression "(piVar27 == (int *)0x0)" ( (binary_expression "piVar27 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }" { (expression_statement "piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);" (assignment_expression "piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" identifier = (cast_expression "(int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x371c" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18)" ( identifier ))))) ;) })) (expression_statement "piVar26 = *(int **)(iVar4 + 4);" (assignment_expression "piVar26 = *(int **)(iVar4 + 4)" identifier = (pointer_expression "*(int **)(iVar4 + 4)" * (cast_expression "(int **)(iVar4 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(puVar18 + 0x2c) + 1;" (assignment_expression "iVar6 = *(int *)(puVar18 + 0x2c) + 1" identifier = (binary_expression "*(int *)(puVar18 + 0x2c) + 1" (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);" (assignment_expression "uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30)" * (cast_expression "(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x20) + 0x30)" ( (binary_expression "*(int *)(puVar21 + 0x20) + 0x30" (pointer_expression "*(int *)(puVar21 + 0x20)" * (cast_expression "(int *)(puVar21 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x20)" ( (binary_expression "puVar21 + 0x20" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);" (assignment_expression "iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" identifier = (cast_expression "(int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" * (cast_expression "(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" ( (binary_expression "*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a" (pointer_expression "*(int *)(*(int *)(puVar21 + 0x20) + 0x18)" * (cast_expression "(int *)(*(int *)(puVar21 + 0x20) + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x20) + 0x18)" ( (binary_expression "*(int *)(puVar21 + 0x20) + 0x18" (pointer_expression "*(int *)(puVar21 + 0x20)" * (cast_expression "(int *)(puVar21 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x20)" ( (binary_expression "puVar21 + 0x20" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))))) ;) (expression_statement "iVar22 = iVar31 + iVar6;" (assignment_expression "iVar22 = iVar31 + iVar6" identifier = (binary_expression "iVar31 + iVar6" identifier + identifier)) ;) (expression_statement "iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);" (assignment_expression "iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c)" identifier = (binary_expression "iVar31 + 2 + *(int *)(puVar18 + 0x2c)" (binary_expression "iVar31 + 2" identifier + number_literal) + (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))))) ;) (if_statement "if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }" if (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'W')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'W'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'W'" ' character ')) )) (compound_statement "{\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }" { (expression_statement "*(int *)(puVar18 + 0x2c) = iVar28;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar28" (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar29 = (int *)0x0;" (assignment_expression "piVar29 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < iVar31) goto LAB_000c0980;" if (parenthesized_expression "(0 < iVar31)" ( (binary_expression "0 < iVar31" number_literal < identifier) )) (goto_statement "goto LAB_000c0980;" goto statement_identifier ;)) (if_statement "if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }" if (parenthesized_expression "(piVar26 != (int *)0x0)" ( (binary_expression "piVar26 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }" { (expression_statement "iStack_e8 = *piVar26;" (assignment_expression "iStack_e8 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000c09d4;" goto statement_identifier ;) })) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }" else (compound_statement "{\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }" { (expression_statement "piVar29 = *(int **)(iVar4 + 8);" (assignment_expression "piVar29 = *(int **)(iVar4 + 8)" identifier = (pointer_expression "*(int **)(iVar4 + 8)" * (cast_expression "(int **)(iVar4 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + 0x2c) = iVar28;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar28" (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }" if (parenthesized_expression "(iVar31 < 1)" ( (binary_expression "iVar31 < 1" identifier < number_literal) )) (compound_statement "{\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }" { (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }" else (compound_statement "{\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }" { (labeled_statement "LAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" statement_identifier : (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) (do_statement "do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);" do (compound_statement "{\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          }" { (expression_statement "iVar34 = iVar28 + 1;" (assignment_expression "iVar34 = iVar28 + 1" identifier = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);" (call_expression "(*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28)" ( identifier , number_literal , identifier , identifier , (binary_expression "iVar6 + iVar28" identifier + identifier) ))) ;) (expression_statement "iVar28 = iVar34;" (assignment_expression "iVar28 = iVar34" identifier = identifier) ;) }) while (parenthesized_expression "(iVar34 < iVar31)" ( (binary_expression "iVar34 < iVar31" identifier < identifier) )) ;) }))) (if_statement "if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }" if (parenthesized_expression "(piVar26 == (int *)0x0)" ( (binary_expression "piVar26 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }" { (if_statement "if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }" if (parenthesized_expression "(piVar29 == (int *)0x0)" ( (binary_expression "piVar29 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }" { (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000c0b50;" goto statement_identifier ;) })) (expression_statement "iVar28 = *piVar29;" (assignment_expression "iVar28 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "iStack_f8 = iVar28;" (assignment_expression "iStack_f8 = iVar28" identifier = identifier) ;) (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }" if (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" ( (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" * (cast_expression "(char *)(iVar4 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) == (char_literal "'V'" ' character ')) )) (compound_statement "{\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }" { (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (expression_statement "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);" (assignment_expression "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar34 = *(int *)(iVar4 + 0x38);" (assignment_expression "iVar34 = *(int *)(iVar4 + 0x38)" identifier = (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);" (assignment_expression "iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40)" identifier = (binary_expression "iVar6 + *(int *)(iVar4 + 0x40)" identifier + (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))))) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);" (assignment_expression "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" * (cast_expression "(int *)(pcVar33 + 0x9ae94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae94)" ( (binary_expression "pcVar33 + 0x9ae94" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000c1e74;" goto statement_identifier ;) })) (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');" (call_expression "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" ( identifier , identifier , (binary_expression "*(char *)(iVar4 + 0xd) == 'R'" (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) )))) == (char_literal "'R'" ' character ')) ))) ;) (expression_statement "iVar31 = piVar27[0x1b];" (assignment_expression "iVar31 = piVar27[0x1b]" identifier = (subscript_expression "piVar27[0x1b]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }" else (compound_statement "{\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }" { (expression_statement "iStack_e8 = *piVar26;" (assignment_expression "iStack_e8 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (if_statement "if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }" if (parenthesized_expression "(piVar29 == (int *)0x0)" ( (binary_expression "piVar29 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }" { (labeled_statement "LAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);" statement_identifier : (expression_statement "iVar28 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar28 = *(int *)(iVar4 + 0x40)" identifier = (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) ))))) ;)) (expression_statement "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);" (assignment_expression "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0)" identifier = (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,piVar26,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" identifier = (call_expression "(*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" ( identifier , number_literal , (binary_expression "iVar6 + iVar28" identifier + identifier) , (pointer_expression "*(undefined4 *)(iVar4 + 0x38)" * (cast_expression "(undefined4 *)(iVar4 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" * (cast_expression "(int *)(pcVar33 + 0x9ae94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae94)" ( (binary_expression "pcVar33 + 0x9ae94" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar27,uVar7,0xfffffff7)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" identifier = (call_expression "(*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" ( identifier , number_literal , (binary_expression "iVar28 + 2" identifier + number_literal) , number_literal , (binary_expression "iVar28 + 2" identifier + number_literal) )))) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,1);" (call_expression "(*pcVar35)(puVar18,iVar4,1)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iStack_f8 = iStack_e8;" (assignment_expression "iStack_f8 = iStack_e8" identifier = identifier) ;) }) (else_clause "else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }" else (compound_statement "{\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }" { (expression_statement "iVar31 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar31 = *(int *)(iVar4 + 0x40)" identifier = (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);" (assignment_expression "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar28 = *piVar29;" (assignment_expression "iVar28 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);" (assignment_expression "uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0)" identifier = (call_expression "(*pcStack_e4)(puVar18,piVar26,0,0)" (parenthesized_expression "(*pcStack_e4)" ( (pointer_expression "*pcStack_e4" * identifier) )) (argument_list "(puVar18,piVar26,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;" (assignment_expression "iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" identifier = (call_expression "(*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" ( identifier , number_literal , (binary_expression "iVar6 + iVar31" identifier + identifier) , (pointer_expression "*(undefined4 *)(iVar4 + 0x38)" * (cast_expression "(undefined4 *)(iVar4 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);" (assignment_expression "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" * (cast_expression "(int *)(pcVar33 + 0x9ae94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae94)" ( (binary_expression "pcVar33 + 0x9ae94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcStack_f4)(piVar27,uVar7,0xfffffff7);" (call_expression "(*pcStack_f4)(piVar27,uVar7,0xfffffff7)" (parenthesized_expression "(*pcStack_f4)" ( (pointer_expression "*pcStack_f4" * identifier) )) (argument_list "(piVar27,uVar7,0xfffffff7)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);" (assignment_expression "iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2)" identifier = (call_expression "(*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x10,iVar31 + 2,0,iVar31 + 2)" ( identifier , number_literal , (binary_expression "iVar31 + 2" identifier + number_literal) , number_literal , (binary_expression "iVar31 + 2" identifier + number_literal) )))) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,1);" (call_expression "(*pcVar35)(puVar18,iVar4,1)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);" (assignment_expression "iVar31 = (*pcVar36)(piVar27,0xb,0,0,0)" identifier = (call_expression "(*pcVar36)(piVar27,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0xb,0,0,0)" ( identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "iVar23 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar23 = *(int *)(iVar4 + 0x40)" identifier = (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "iVar34 = *(int *)(iVar4 + 0x38);" (assignment_expression "iVar34 = *(int *)(iVar4 + 0x38)" identifier = (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }" { (expression_statement "iVar25 = piVar27[0x1b];" (assignment_expression "iVar25 = piVar27[0x1b]" identifier = (subscript_expression "piVar27[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n                iVar12 = iVar25 + -1;\n              }" { (expression_statement "iVar12 = iVar25 + -1;" (assignment_expression "iVar12 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }" if (parenthesized_expression "(*(char *)(*piVar27 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar27 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar27 + 0x51)" * (cast_expression "(char *)(*piVar27 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar27 + 0x51)" ( (binary_expression "*piVar27 + 0x51" (pointer_expression "*piVar27" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }" { (expression_statement "*(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;" (assignment_expression "*(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25" (pointer_expression "*(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8)" * (cast_expression "(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x1a] + iVar12 * 0x14 + 8)" ( (binary_expression "piVar27[0x1a] + iVar12 * 0x14 + 8" (binary_expression "piVar27[0x1a] + iVar12 * 0x14" (subscript_expression "piVar27[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar12 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }" else (compound_statement "{\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) })) (expression_statement "iStack_f8 = iStack_e8 + iVar28;" (assignment_expression "iStack_f8 = iStack_e8 + iVar28" identifier = (binary_expression "iStack_e8 + iVar28" identifier + identifier)) ;) (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }" if (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" ( (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" * (cast_expression "(char *)(iVar4 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) == (char_literal "'V'" ' character ')) )) (compound_statement "{\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }" { (expression_statement "iVar34 = iStack_e8 + iVar34;" (assignment_expression "iVar34 = iStack_e8 + iVar34" identifier = (binary_expression "iStack_e8 + iVar34" identifier + identifier)) ;) (expression_statement "iStack_e8 = iVar6 + iVar23 + iStack_e8;" (assignment_expression "iStack_e8 = iVar6 + iVar23 + iStack_e8" identifier = (binary_expression "iVar6 + iVar23 + iStack_e8" (binary_expression "iVar6 + iVar23" identifier + identifier) + identifier)) ;) (labeled_statement "LAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);" statement_identifier : (expression_statement "uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);" (assignment_expression "uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0)" identifier = (call_expression "(*pcStack_e4)(puVar18,piVar29,0,0)" (parenthesized_expression "(*pcStack_e4)" ( (pointer_expression "*pcStack_e4" * identifier) )) (argument_list "(puVar18,piVar29,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;)) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28)" identifier = (call_expression "(*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x57,iStack_e8,iVar34,iVar28)" ( identifier , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "(*pcStack_f4)(piVar27,uVar7,0xfffffff7);" (call_expression "(*pcStack_f4)(piVar27,uVar7,0xfffffff7)" (parenthesized_expression "(*pcStack_f4)" ( (pointer_expression "*pcStack_f4" * identifier) )) (argument_list "(piVar27,uVar7,0xfffffff7)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" identifier = (call_expression "(*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" ( identifier , number_literal , (binary_expression "iVar28 + 2" identifier + number_literal) , number_literal , (binary_expression "iVar28 + 2" identifier + number_literal) )))) ;) }) (else_clause "else {\n              iVar28 = 0;\n            }" else (compound_statement "{\n              iVar28 = 0;\n            }" { (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) }))) (expression_statement "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');" (call_expression "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" ( identifier , identifier , (binary_expression "*(char *)(iVar4 + 0xd) == 'R'" (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) )))) == (char_literal "'R'" ' character ')) ))) ;) (if_statement "if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }" if (parenthesized_expression "(iVar31 != 0)" ( (binary_expression "iVar31 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }" { (expression_statement "iVar34 = piVar27[0x1b];" (assignment_expression "iVar34 = piVar27[0x1b]" identifier = (subscript_expression "piVar27[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }" if (parenthesized_expression "(iVar31 < 0)" ( (binary_expression "iVar31 < 0" identifier < number_literal) )) (compound_statement "{\n                iVar31 = iVar34 + -1;\n              }" { (expression_statement "iVar31 = iVar34 + -1;" (assignment_expression "iVar31 = iVar34 + -1" identifier = (binary_expression "iVar34 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }" if (parenthesized_expression "(*(char *)(*piVar27 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar27 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar27 + 0x51)" * (cast_expression "(char *)(*piVar27 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar27 + 0x51)" ( (binary_expression "*piVar27 + 0x51" (pointer_expression "*piVar27" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }" { (expression_statement "*(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;" (assignment_expression "*(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34" (pointer_expression "*(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8)" * (cast_expression "(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x1a] + iVar31 * 0x14 + 8)" ( (binary_expression "piVar27[0x1a] + iVar31 * 0x14 + 8" (binary_expression "piVar27[0x1a] + iVar31 * 0x14" (subscript_expression "piVar27[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar31 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }" else (compound_statement "{\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) })) }))) (expression_statement "iVar31 = piVar27[0x1b];" (assignment_expression "iVar31 = piVar27[0x1b]" identifier = (subscript_expression "piVar27[0x1b]" identifier [ number_literal ])) ;) }))) (expression_statement "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);" (call_expression "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "iVar31 + 3" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);" (call_expression "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0xc,puStack_8c,iStack_88,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);" (call_expression "(*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "piVar27[0x1b] + -1" (subscript_expression "piVar27[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);" (call_expression "(*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);" (call_expression "(*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1)" ( identifier , number_literal , (binary_expression "iVar6 + *(int *)(iVar4 + 0x40)" identifier + (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(iVar4 + 0x38)" * (cast_expression "(undefined4 *)(iVar4 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) , (binary_expression "iStack_f8 + -1" identifier + number_literal) ))) ;) (if_statement "if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }" { (expression_statement "iVar31 = piVar27[0x1b];" (assignment_expression "iVar31 = piVar27[0x1b]" identifier = (subscript_expression "piVar27[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }" if (parenthesized_expression "(iVar28 < 0)" ( (binary_expression "iVar28 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar28 = iVar31 + -1;\n          }" { (expression_statement "iVar28 = iVar31 + -1;" (assignment_expression "iVar28 = iVar31 + -1" identifier = (binary_expression "iVar31 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }" if (parenthesized_expression "(*(char *)(*piVar27 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar27 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar27 + 0x51)" * (cast_expression "(char *)(*piVar27 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar27 + 0x51)" ( (binary_expression "*piVar27 + 0x51" (pointer_expression "*piVar27" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }" { (expression_statement "*(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;" (assignment_expression "*(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31" (pointer_expression "*(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8)" * (cast_expression "(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x1a] + iVar28 * 0x14 + 8)" ( (binary_expression "piVar27[0x1a] + iVar28 * 0x14 + 8" (binary_expression "piVar27[0x1a] + iVar28 * 0x14" (subscript_expression "piVar27[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar28 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }" else (compound_statement "{\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) })) }))) (labeled_statement "LAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);" statement_identifier : (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7af4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,0xffffffff,0,iVar6,0)" ( identifier , identifier , number_literal , number_literal , identifier , number_literal ))) ;)) (if_statement "if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) < 1)" ( (binary_expression "*(int *)(iVar4 + 0x40) < 1" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }" { (expression_statement "(*pcVar36)(piVar27,0x4b,0,iVar22,0);" (call_expression "(*pcVar36)(piVar27,0x4b,0,iVar22,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x4b,0,iVar22,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" * (cast_expression "(int *)(pcVar33 + 0x9ae94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae94)" ( (binary_expression "pcVar33 + 0x9ae94" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0)" ( identifier , (binary_expression "*(int *)(pcVar33 + 0x9adbc) + 0x53f4" (pointer_expression "*(int *)(pcVar33 + 0x9adbc)" * (cast_expression "(int *)(pcVar33 + 0x9adbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adbc)" ( (binary_expression "pcVar33 + 0x9adbc" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) }) (else_clause "else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }" else (compound_statement "{\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }" { (expression_statement "(*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);" (call_expression "(*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22)" ( identifier , number_literal , identifier , (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) , identifier ))) ;) }))) (expression_statement "(*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);" (call_expression "(*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "iVar22 + 1" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);" (call_expression "(*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , identifier , (binary_expression "iVar22 + 1" identifier + number_literal) ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x18cc)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x18cc" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar24)" ( identifier ))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,1);" (call_expression "(*pcVar35)(puVar18,iVar4,1)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);" (call_expression "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , (binary_expression "piVar27[0x1b] + 3" (subscript_expression "piVar27[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);" (call_expression "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,0xc,puStack_8c,iStack_88,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "iVar22 = 5;" (assignment_expression "iVar22 = 5" identifier = number_literal) ;) (expression_statement "iVar28 = *(int *)(iVar4 + 0x24);" (assignment_expression "iVar28 = *(int *)(iVar4 + 0x24)" identifier = (pointer_expression "*(int *)(iVar4 + 0x24)" * (cast_expression "(int *)(iVar4 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);" (call_expression "(*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar27,5,iVar28,piVar27[0x1b] + -1,0)" ( identifier , number_literal , identifier , (binary_expression "piVar27[0x1b] + -1" (subscript_expression "piVar27[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (goto_statement "goto LAB_000c0f44;" goto statement_identifier ;) })) (labeled_statement "LAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);" statement_identifier : (expression_statement "piVar26 = *(int **)(puVar18 + 8);" (assignment_expression "piVar26 = *(int **)(puVar18 + 8)" identifier = (pointer_expression "*(int **)(puVar18 + 8)" * (cast_expression "(int **)(puVar18 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }" if (parenthesized_expression "(piVar26 == (int *)0x0)" ( (binary_expression "piVar26 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }" { (expression_statement "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);" (assignment_expression "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" identifier = (cast_expression "(int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x371c" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18)" ( identifier ))))) ;) (expression_statement "piVar27 = *(int **)(iVar4 + 8);" (assignment_expression "piVar27 = *(int **)(iVar4 + 8)" identifier = (pointer_expression "*(int **)(iVar4 + 8)" * (cast_expression "(int **)(iVar4 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "piStack_e0 = *(int **)(iVar4 + 4);" (assignment_expression "piStack_e0 = *(int **)(iVar4 + 4)" identifier = (pointer_expression "*(int **)(iVar4 + 4)" * (cast_expression "(int **)(iVar4 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (if_statement "if (piVar27 != (int *)0x0) goto LAB_000c0c7c;" if (parenthesized_expression "(piVar27 != (int *)0x0)" ( (binary_expression "piVar27 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c0c7c;" goto statement_identifier ;)) (labeled_statement "LAB_000c1450:\n      iStack_f0 = 0;" statement_identifier : (expression_statement "iStack_f0 = 0;" (assignment_expression "iStack_f0 = 0" identifier = number_literal) ;)) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) }) (else_clause "else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }" else (compound_statement "{\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }" { (expression_statement "piStack_e0 = *(int **)(iVar4 + 4);" (assignment_expression "piStack_e0 = *(int **)(iVar4 + 4)" identifier = (pointer_expression "*(int **)(iVar4 + 4)" * (cast_expression "(int **)(iVar4 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "piVar27 = *(int **)(iVar4 + 8);" (assignment_expression "piVar27 = *(int **)(iVar4 + 8)" identifier = (pointer_expression "*(int **)(iVar4 + 8)" * (cast_expression "(int **)(iVar4 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (if_statement "if (piVar27 == (int *)0x0) goto LAB_000c1450;" if (parenthesized_expression "(piVar27 == (int *)0x0)" ( (binary_expression "piVar27 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c1450;" goto statement_identifier ;)) (labeled_statement "LAB_000c0c7c:\n      iStack_f0 = *piVar27;" statement_identifier : (expression_statement "iStack_f0 = *piVar27;" (assignment_expression "iStack_f0 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;)) (expression_statement "bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;" (assignment_expression "bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700" identifier = (binary_expression "(*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700" (parenthesized_expression "(*(uint *)(iVar4 + 0xc) & 0xffff00)" ( (binary_expression "*(uint *)(iVar4 + 0xc) & 0xffff00" (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal)) ;) }))) (expression_statement "iVar22 = *(int *)(puVar18 + 0x2c);" (assignment_expression "iVar22 = *(int *)(puVar18 + 0x2c)" identifier = (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(puVar18 + 0x28);" (assignment_expression "iVar12 = *(int *)(puVar18 + 0x28)" identifier = (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar34 = *(int *)(pcVar33 + 0x9aee8);" (assignment_expression "iVar34 = *(int *)(pcVar33 + 0x9aee8)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar6 = *(int *)(puVar18 + 0x38)" identifier = (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = iVar22 + iStack_f0;" (assignment_expression "iVar28 = iVar22 + iStack_f0" identifier = (binary_expression "iVar22 + iStack_f0" identifier + identifier)) ;) (expression_statement "iVar23 = iVar28 + 2;" (assignment_expression "iVar23 = iVar28 + 2" identifier = (binary_expression "iVar28 + 2" identifier + number_literal)) ;) (expression_statement "iVar31 = iVar6 + -2;" (assignment_expression "iVar31 = iVar6 + -2" identifier = (binary_expression "iVar6 + -2" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 0x28) = iVar12 + 1;" (assignment_expression "*(int *)(puVar18 + 0x28) = iVar12 + 1" (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) )))) = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" identifier = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 0x38) = iVar31;" (assignment_expression "*(int *)(puVar18 + 0x38) = iVar31" (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + 0x2c) = iVar23;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar23" (pointer_expression "*(int *)(puVar18 + 0x2c)" * (cast_expression "(int *)(puVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x2c)" ( (binary_expression "puVar18 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "(*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);" (call_expression "(*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8)" (parenthesized_expression "(*(code *)(iVar34 + -0x7e94))" ( (pointer_expression "*(code *)(iVar34 + -0x7e94)" * (cast_expression "(code *)(iVar34 + -0x7e94)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + -0x7e94)" ( (binary_expression "iVar34 + -0x7e94" identifier + number_literal) )))) )) (argument_list "(puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8)" ( identifier , (binary_expression "puVar21 + 0x20" identifier + number_literal) , (pointer_expression "*(undefined4 *)(puVar21 + 0x44)" * (cast_expression "(undefined4 *)(puVar21 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x44)" ( (binary_expression "puVar21 + 0x44" identifier + number_literal) )))) , identifier , identifier , identifier , (pointer_expression "&uStack_c8" & identifier) ))) ;) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);" (assignment_expression "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0)" identifier = (call_expression "(*pcVar36)(piVar26,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0xb,0,0,0)" ( identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "iVar34 = *(int *)(pcVar33 + 0x9aee4);" (assignment_expression "iVar34 = *(int *)(pcVar33 + 0x9aee4)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);" (call_expression "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar31)" (parenthesized_expression "(*(code *)(iVar34 + -0x3c14))" ( (pointer_expression "*(code *)(iVar34 + -0x3c14)" * (cast_expression "(code *)(iVar34 + -0x3c14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + -0x3c14)" ( (binary_expression "iVar34 + -0x3c14" identifier + number_literal) )))) )) (argument_list "(piVar26,iVar31)" ( identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x11,0,piVar26[0x1b] + 2,0)" ( identifier , number_literal , number_literal , (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);" (call_expression "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal ))) ;) (expression_statement "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);" (assignment_expression "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" identifier = (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2e00" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" * (cast_expression "(int *)(pcVar33 + 0x9aee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee4)" ( (binary_expression "pcVar33 + 0x9aee4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4)" ( identifier , identifier )))) ;) (expression_statement "(*pcVar36)(piVar26,0x46,0,iVar23,0);" (call_expression "(*pcVar36)(piVar26,0x46,0,iVar23,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x46,0,iVar23,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,iVar12,iVar6,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , identifier , number_literal ))) ;) (if_statement "if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }" { (expression_statement "iVar31 = piVar26[0x1b];" (assignment_expression "iVar31 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7af4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" ( identifier , identifier , identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,5,iVar12,iVar31,0);" (call_expression "(*pcVar36)(piVar26,5,iVar12,iVar31,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,iVar12,iVar31,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x24,iVar12,iVar6,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "iStack_e8 = piVar26[0x1b];" (assignment_expression "iStack_e8 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (piVar27 != (int *)0x0) goto LAB_000c0e28;" if (parenthesized_expression "(piVar27 != (int *)0x0)" ( (binary_expression "piVar27 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c0e28;" goto statement_identifier ;)) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }" else (compound_statement "{\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }" { (expression_statement "iStack_e8 = piVar26[0x1b];" (assignment_expression "iStack_e8 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }" if (parenthesized_expression "(piVar27 == (int *)0x0)" ( (binary_expression "piVar27 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }" { (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }" else (compound_statement "{\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }" { (labeled_statement "LAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);" statement_identifier : (expression_statement "cVar14 = *(char *)(iVar4 + 0xd);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xd)" identifier = (pointer_expression "*(char *)(iVar4 + 0xd)" * (cast_expression "(char *)(iVar4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd)" ( (binary_expression "iVar4 + 0xd" identifier + number_literal) ))))) ;)) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" identifier = identifier) ;) (if_statement "if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" if (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'R')" ( (binary_expression "*(char *)(iVar4 + 0xe) == 'R'" (pointer_expression "*(char *)(iVar4 + 0xe)" * (cast_expression "(char *)(iVar4 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xe)" ( (binary_expression "iVar4 + 0xe" identifier + number_literal) )))) == (char_literal "'R'" ' character ')) )) (compound_statement "{\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }" { (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }" if (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" ( (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" * (cast_expression "(char *)(iVar4 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) == (char_literal "'V'" ' character ')) )) (compound_statement "{\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }" { (labeled_statement "LAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);" statement_identifier : (expression_statement "iVar31 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar31 = *(int *)(iVar4 + 0x40)" identifier = (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) ))))) ;)) (if_statement "if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }" if (parenthesized_expression "(piStack_e0 == (int *)0x0)" ( (binary_expression "piStack_e0 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar25 = 0;\n            }" { (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }" else (compound_statement "{\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }" { (expression_statement "iVar25 = *piStack_e0;" (assignment_expression "iVar25 = *piStack_e0" identifier = (pointer_expression "*piStack_e0" * identifier)) ;) (expression_statement "iVar31 = iVar31 + iVar25;" (assignment_expression "iVar31 = iVar31 + iVar25" identifier = (binary_expression "iVar31 + iVar25" identifier + identifier)) ;) }))) (expression_statement "iVar25 = iVar25 + *(int *)(iVar4 + 0x38);" (assignment_expression "iVar25 = iVar25 + *(int *)(iVar4 + 0x38)" identifier = (binary_expression "iVar25 + *(int *)(iVar4 + 0x38)" identifier + (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))))) ;) (expression_statement "uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);" (assignment_expression "uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0)" identifier = (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,piVar27,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (if_statement "if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }" if (parenthesized_expression "(0 < iStack_f0)" ( (binary_expression "0 < iStack_f0" number_literal < identifier) )) (compound_statement "{\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }" { (expression_statement "iVar10 = iStack_f0 + iVar31;" (assignment_expression "iVar10 = iStack_f0 + iVar31" identifier = (binary_expression "iStack_f0 + iVar31" identifier + identifier)) ;) (expression_statement "iVar11 = iVar22 - iVar31;" (assignment_expression "iVar11 = iVar22 - iVar31" identifier = (binary_expression "iVar22 - iVar31" identifier - identifier)) ;) (do_statement "do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);" do (compound_statement "{\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              }" { (expression_statement "(*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);" (call_expression "(*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31)" ( identifier , number_literal , identifier , identifier , (binary_expression "iVar11 + iVar31" identifier + identifier) ))) ;) (expression_statement "iVar31 = iVar31 + 1;" (assignment_expression "iVar31 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar31 != iVar10)" ( (binary_expression "iVar31 != iVar10" identifier != identifier) )) ;) })) (expression_statement "iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);" (assignment_expression "iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0)" identifier = (call_expression "(*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x57,iVar22,iVar25,iStack_f0)" ( identifier , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" ( (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" * (cast_expression "(int *)(pcVar33 + 0x9ae94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9ae94)" ( (binary_expression "pcVar33 + 0x9ae94" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar26,uVar9,0xfffffff7)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);" (assignment_expression "iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2)" identifier = (call_expression "(*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x10,iVar31 + 2,0,iVar31 + 2)" ( identifier , number_literal , (binary_expression "iVar31 + 2" identifier + number_literal) , number_literal , (binary_expression "iVar31 + 2" identifier + number_literal) )))) ;) (expression_statement "(*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);" (call_expression "(*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1)" ( identifier , number_literal , identifier , identifier , (binary_expression "iStack_f0 + -1" identifier + number_literal) ))) ;) (expression_statement "uVar9 = uStack_c8;" (assignment_expression "uVar9 = uStack_c8" identifier = identifier) ;) (if_statement "if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }" if (parenthesized_expression "(cVar14 != 'R')" ( (binary_expression "cVar14 != 'R'" identifier != (char_literal "'R'" ' character ')) )) (compound_statement "{\n              uVar8 = 0;\n              uVar9 = 0;\n            }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) })) (goto_statement "goto LAB_000c14a0;" goto statement_identifier ;) })) (if_statement "if (cVar14 == 'R') goto LAB_000c1494;" if (parenthesized_expression "(cVar14 == 'R')" ( (binary_expression "cVar14 == 'R'" identifier == (char_literal "'R'" ' character ')) )) (goto_statement "goto LAB_000c1494;" goto statement_identifier ;)) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);" (call_expression "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" ( identifier , identifier , identifier , identifier , identifier , number_literal , number_literal ))) ;) }) (else_clause "else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" else (if_statement "if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" if (parenthesized_expression "(cVar14 == 'R')" ( (binary_expression "cVar14 == 'R'" identifier == (char_literal "'R'" ' character ')) )) (compound_statement "{\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }" { (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;" if (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" ( (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" * (cast_expression "(char *)(iVar4 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) == (char_literal "'V'" ' character ')) )) (goto_statement "goto LAB_000c1544;" goto statement_identifier ;)) (labeled_statement "LAB_000c1494:\n          iVar31 = 0;" statement_identifier : (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;)) (expression_statement "uVar9 = uStack_c8;" (assignment_expression "uVar9 = uStack_c8" identifier = identifier) ;) (labeled_statement "LAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" statement_identifier : (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);" (call_expression "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }" if (parenthesized_expression "(iVar31 != 0)" ( (binary_expression "iVar31 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }" { (expression_statement "iVar22 = piVar26[0x1b];" (assignment_expression "iVar22 = piVar26[0x1b]" identifier = (subscript_expression "piVar26[0x1b]" identifier [ number_literal ])) ;) (if_statement "if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }" if (parenthesized_expression "(iVar31 < 0)" ( (binary_expression "iVar31 < 0" identifier < number_literal) )) (compound_statement "{\n              iVar31 = iVar22 + -1;\n            }" { (expression_statement "iVar31 = iVar22 + -1;" (assignment_expression "iVar31 = iVar22 + -1" identifier = (binary_expression "iVar22 + -1" identifier + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }" { (expression_statement "*(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22" (pointer_expression "*(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8)" * (cast_expression "(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[0x1a] + iVar31 * 0x14 + 8)" ( (binary_expression "piVar26[0x1a] + iVar31 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar31 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar31 * 0x14" identifier * number_literal)) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }" else (compound_statement "{\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }" { (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" ( (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) })) }) (else_clause "else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" else (compound_statement "{\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" { (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) ;) }))))) (if_statement "if (bVar2) goto LAB_000c0e5c;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_000c0e5c;" goto statement_identifier ;)) }))) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" ( (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7af4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" * (cast_expression "(int *)(pcVar33 + 0x9aee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9aee8)" ( (binary_expression "pcVar33 + 0x9aee8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" ( identifier , identifier , identifier , number_literal , identifier , identifier ))) ;) }))) (labeled_statement "LAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);" statement_identifier : (expression_statement "(*pcVar36)(piVar26,0x53,iVar23,1,0);" (call_expression "(*pcVar36)(piVar26,0x53,iVar23,1,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x53,iVar23,1,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;)) (expression_statement "(*pcVar36)(piVar26,5,iVar12,iStack_e8,0);" (call_expression "(*pcVar36)(piVar26,5,iVar12,iStack_e8,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,5,iVar12,iStack_e8,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);" (call_expression "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" ( identifier , identifier , identifier , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);" (call_expression "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar6)" (parenthesized_expression "(*(code *)(iVar34 + -0x3c14))" ( (pointer_expression "*(code *)(iVar34 + -0x3c14)" * (cast_expression "(code *)(iVar34 + -0x3c14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + -0x3c14)" ( (binary_expression "iVar34 + -0x3c14" identifier + number_literal) )))) )) (argument_list "(piVar26,iVar6)" ( identifier , identifier ))) ;) (expression_statement "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);" (call_expression "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" * (cast_expression "(undefined4 *)(iVar4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) , number_literal , number_literal ))) ;) }))) (expression_statement "iVar22 = 0x42;" (assignment_expression "iVar22 = 0x42" identifier = number_literal) ;) (expression_statement "(*pcVar36)(piVar26,0x42,iVar28,0,0);" (call_expression "(*pcVar36)(piVar26,0x42,iVar28,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(piVar26,0x42,iVar28,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "piVar27 = (int *)piVar26[0x1b];" (assignment_expression "piVar27 = (int *)piVar26[0x1b]" identifier = (cast_expression "(int *)piVar26[0x1b]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar26[0x1b]" identifier [ number_literal ]))) ;) (if_statement "if (iStack_f8 < 0) {\n    iStack_f8 = (int)piVar27 + -1;\n  }" if (parenthesized_expression "(iStack_f8 < 0)" ( (binary_expression "iStack_f8 < 0" identifier < number_literal) )) (compound_statement "{\n    iStack_f8 = (int)piVar27 + -1;\n  }" { (expression_statement "iStack_f8 = (int)piVar27 + -1;" (assignment_expression "iStack_f8 = (int)piVar27 + -1" identifier = (binary_expression "(int)piVar27 + -1" (cast_expression "(int)piVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) })) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }\n  else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }" if (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" * (cast_expression "(char *)(*piVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar26 + 0x51)" ( (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }" { (expression_statement "iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;" (assignment_expression "iVar4 = piVar26[0x1a] + iStack_f8 * 0x14" identifier = (binary_expression "piVar26[0x1a] + iStack_f8 * 0x14" (subscript_expression "piVar26[0x1a]" identifier [ number_literal ]) + (binary_expression "iStack_f8 * 0x14" identifier * number_literal))) ;) (expression_statement "iVar22 = iStack_f8;" (assignment_expression "iVar22 = iStack_f8" identifier = identifier) ;) }) (else_clause "else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }" else (compound_statement "{\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }" { (expression_statement "iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;" (assignment_expression "iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514" identifier = (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x4514" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" * (cast_expression "(int *)(pcVar33 + 0x9adac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x9adac)" ( (binary_expression "pcVar33 + 0x9adac" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "*(int **)(iVar4 + 8) = piVar27;" (assignment_expression "*(int **)(iVar4 + 8) = piVar27" (pointer_expression "*(int **)(iVar4 + 8)" * (cast_expression "(int **)(iVar4 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = identifier) ;) (labeled_statement "LAB_000c0f44:\n  if (iStack_c4 == *piVar30) {\n    return;\n  }" statement_identifier : (if_statement "if (iStack_c4 == *piVar30) {\n    return;\n  }" if (parenthesized_expression "(iStack_c4 == *piVar30)" ( (binary_expression "iStack_c4 == *piVar30" identifier == (pointer_expression "*piVar30" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar33 = *(code **)(pcVar33 + 0x9b1e4);" (assignment_expression "pcVar33 = *(code **)(pcVar33 + 0x9b1e4)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x9b1e4)" * (cast_expression "(code **)(pcVar33 + 0x9b1e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x9b1e4)" ( (binary_expression "pcVar33 + 0x9b1e4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = *piVar27;" (assignment_expression "iVar4 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (if_statement "if (iVar22 == 0) {\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }\n  else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }" if (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) (compound_statement "{\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }" { (if_statement "if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0x51) == '\0')" ( (binary_expression "*(char *)(iVar4 + 0x51) == '\0'" (pointer_expression "*(char *)(iVar4 + 0x51)" * (cast_expression "(char *)(iVar4 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x51)" ( (binary_expression "iVar4 + 0x51" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_000c02d8();\n      return;\n    }" { (expression_statement "FUN_000c02d8();" (call_expression "FUN_000c02d8()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }" else (compound_statement "{\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }" { (expression_statement "iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);" (assignment_expression "iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4)" identifier = (call_expression "(*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x997c0) + -0x271c)" ( (binary_expression "*(int *)(pcVar33 + 0x997c0) + -0x271c" (pointer_expression "*(int *)(pcVar33 + 0x997c0)" * (cast_expression "(int *)(pcVar33 + 0x997c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x997c0)" ( (binary_expression "pcVar33 + 0x997c0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar4)" ( identifier )))) ;) (if_statement "if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }" if (parenthesized_expression "(*(char *)(iVar4 + 0x51) == '\0')" ( (binary_expression "*(char *)(iVar4 + 0x51) == '\0'" (pointer_expression "*(char *)(iVar4 + 0x51)" * (cast_expression "(char *)(iVar4 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x51)" ( (binary_expression "iVar4 + 0x51" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }" { (expression_statement "FUN_000c02d8(piVar27,iVar22,iVar28);" (call_expression "FUN_000c02d8(piVar27,iVar22,iVar28)" identifier (argument_list "(piVar27,iVar22,iVar28)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }" if (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }" { (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x99780) + 0x7bc4)" ( (binary_expression "*(int *)(pcVar33 + 0x99780) + 0x7bc4" (pointer_expression "*(int *)(pcVar33 + 0x99780)" * (cast_expression "(int *)(pcVar33 + 0x99780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x99780)" ( (binary_expression "pcVar33 + 0x99780" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar4,iVar22)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) 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 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 (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 (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 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 (pointer_declarator * 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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) , (binary_expression IDENT == (char_literal ' escape_sequence '))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (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 = (binary_expression IDENT + LIT)) ;) (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) (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 (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) )))) ;) (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 , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = 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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (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 *)) ) LIT)) ;) (expression_statement (assignment_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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = 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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (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 = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) || (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression & IDENT)) )) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) * LIT)) ))))) )))) < (cast_expression ( (type_descriptor TYPE) ) 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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) , (binary_expression (pointer_expression & IDENT) < IDENT)) ))) )) (break_statement break ;)) (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 = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) * LIT)) ))))) ;) (goto_statement goto statement_identifier ;) })) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( IDENT ))) + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) )) << (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) & LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> (parenthesized_expression ( (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) & LIT) )) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (parenthesized_expression ( (binary_expression IDENT * LIT) ))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) )))) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) + IDENT) + LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (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) )))) = (binary_expression IDENT | LIT)) ;) })) }))) })))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ( ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) })) (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 (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & 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 (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) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (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 *)) ) (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)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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) ))))) ;) (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (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) )))) = 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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (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 * IDENT) )) (argument_list ( IDENT , LIT , LIT , LIT , 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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (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 * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) + LIT) )))) = LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) + LIT) )))) = 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 (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) )))) = 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 = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) + LIT) )))) = 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 (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) )))) = 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 ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , LIT , LIT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , LIT , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })))) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 ' character ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , LIT ))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) }))) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (comma_expression (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) ))))) , (binary_expression IDENT == (binary_expression IDENT + LIT))) ))) )) || (parenthesized_expression ( (binary_expression IDENT == (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) || (parenthesized_expression ( (binary_expression IDENT == (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ))) )) ))) )) (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) ))))) ;) }) while (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) ))))) ;) (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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( 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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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) )))) ;) (goto_statement goto statement_identifier ;) })) (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 = (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) )))) ;) }) (else_clause else (compound_statement { (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_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 *)) ) (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 = (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) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = 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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + 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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (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 = (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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + 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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , LIT , 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , LIT )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) }))) })) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) }))) })) }))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT , LIT , IDENT , LIT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , 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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (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 * (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 = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 IDENT + LIT)) ;) (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) )))) = 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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (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 * IDENT) )) (argument_list ( IDENT , LIT , LIT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (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 * (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) )))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }) (else_clause else (compound_statement { (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (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) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , LIT , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) }))) })) }) (else_clause else (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) )))) ;) }))))) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , LIT , IDENT , IDENT ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , LIT , LIT ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) }))) (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)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })) }))) (return_statement return ;) })))
(function_definition "void FUN_000c03a0(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)\n\n{\n  ushort uVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  short sVar13;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  char cVar14;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  int iVar23;\n  undefined1 *puVar24;\n  int iVar25;\n  int *piVar26;\n  int *piVar27;\n  int unaff_s4;\n  code *unaff_s5;\n  int iVar28;\n  int *piVar29;\n  undefined1 *unaff_s6;\n  int *piVar30;\n  undefined1 *unaff_s7;\n  int iVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  int unaff_s8;\n  int iVar34;\n  code *pcVar35;\n  code *pcVar36;\n  int iStack_f8;\n  code *pcStack_f4;\n  int iStack_f0;\n  int iStack_e8;\n  code *pcStack_e4;\n  int *piStack_e0;\n  undefined4 uStack_c8;\n  int iStack_c4;\n  undefined1 *puStack_c0;\n  undefined1 *puStack_bc;\n  undefined1 *puStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  code *pcStack_ac;\n  undefined1 *puStack_a8;\n  undefined1 *puStack_a4;\n  int iStack_a0;\n  code *pcStack_9c;\n  undefined1 *puStack_8c;\n  int iStack_88;\n  undefined *puStack_80;\n  undefined1 *puStack_78;\n  int iStack_74;\n  undefined *puStack_70;\n  undefined1 *puStack_6c;\n  undefined1 *puStack_68;\n  undefined1 auStack_30 [4];\n  undefined *local_2c;\n  undefined *local_28;\n  char local_1c;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  puVar17 = param_1;\n  puVar20 = param_2;\n  if (param_1[0x17] == '\0') {\nLAB_000c042c:\n    FUN_000c02d8();\n  }\n  else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }\n  if (local_14 == *(int *)puVar3) {\n    return;\n  }\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_80 = puVar32 + 0xa3120;\n  puStack_70 = puVar3;\n  piVar26 = *(int **)(puVar32 + 0x9b59c);\n  iStack_74 = *piVar26;\n  puVar18 = puVar17;\n  puVar21 = puVar20;\n  puVar24 = param_3;\n  puStack_c0 = puVar3;\n  puStack_b8 = param_2;\n  puStack_6c = param_1;\n  puStack_68 = param_2;\n  if ((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }\n  if (iStack_74 == *piVar26) {\n    return;\n  }\n  pcVar33 = *(code **)(puStack_80 + -0x7ba0);\n  pcVar36 = FUN_000c082c;\n  (*pcVar33)();\n  piVar30 = *(int **)(pcVar33 + 0x9b200);\n  iVar4 = *(int *)(puVar21 + 0x44);\n  iStack_c4 = *piVar30;\n  uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;\n  puStack_bc = param_1;\n  piStack_b4 = piVar26;\n  iStack_b0 = unaff_s4;\n  pcStack_ac = unaff_s5;\n  puStack_a8 = unaff_s6;\n  puStack_a4 = unaff_s7;\n  iStack_a0 = unaff_s8;\n  pcStack_9c = pcVar36;\n  puStack_8c = param_4;\n  if (*(char *)(iVar4 + 0xc) == 'L') {\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  iVar22 = 0x42;\n  (*pcVar36)(piVar26,0x42,iVar28,0,0);\n  piVar27 = (int *)piVar26[0x1b];\n  if (iStack_f8 < 0) {\n    iStack_f8 = (int)piVar27 + -1;\n  }\n  if (*(char *)(*piVar26 + 0x51) == '\0') {\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }\n  else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }\n  *(int **)(iVar4 + 8) = piVar27;\nLAB_000c0f44:\n  if (iStack_c4 == *piVar30) {\n    return;\n  }\n  pcVar33 = *(code **)(pcVar33 + 0x9b1e4);\n  (*pcVar33)();\n  iVar4 = *piVar27;\n  if (iVar22 == 0) {\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }\n  else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000c03a0(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)" (identifier "FUN_000c03a0") (parameter_list "(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)" (( "(") (parameter_declaration "undefined1 *param_1" (type_identifier "undefined1") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined1 *param_2" (type_identifier "undefined1") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined1 *param_3" (type_identifier "undefined1") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined1 *param_4" (type_identifier "undefined1") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  ushort uVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  short sVar13;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  char cVar14;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  int iVar23;\n  undefined1 *puVar24;\n  int iVar25;\n  int *piVar26;\n  int *piVar27;\n  int unaff_s4;\n  code *unaff_s5;\n  int iVar28;\n  int *piVar29;\n  undefined1 *unaff_s6;\n  int *piVar30;\n  undefined1 *unaff_s7;\n  int iVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  int unaff_s8;\n  int iVar34;\n  code *pcVar35;\n  code *pcVar36;\n  int iStack_f8;\n  code *pcStack_f4;\n  int iStack_f0;\n  int iStack_e8;\n  code *pcStack_e4;\n  int *piStack_e0;\n  undefined4 uStack_c8;\n  int iStack_c4;\n  undefined1 *puStack_c0;\n  undefined1 *puStack_bc;\n  undefined1 *puStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  code *pcStack_ac;\n  undefined1 *puStack_a8;\n  undefined1 *puStack_a4;\n  int iStack_a0;\n  code *pcStack_9c;\n  undefined1 *puStack_8c;\n  int iStack_88;\n  undefined *puStack_80;\n  undefined1 *puStack_78;\n  int iStack_74;\n  undefined *puStack_70;\n  undefined1 *puStack_6c;\n  undefined1 *puStack_68;\n  undefined1 auStack_30 [4];\n  undefined *local_2c;\n  undefined *local_28;\n  char local_1c;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  puVar17 = param_1;\n  puVar20 = param_2;\n  if (param_1[0x17] == '\0') {\nLAB_000c042c:\n    FUN_000c02d8();\n  }\n  else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }\n  if (local_14 == *(int *)puVar3) {\n    return;\n  }\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_80 = puVar32 + 0xa3120;\n  puStack_70 = puVar3;\n  piVar26 = *(int **)(puVar32 + 0x9b59c);\n  iStack_74 = *piVar26;\n  puVar18 = puVar17;\n  puVar21 = puVar20;\n  puVar24 = param_3;\n  puStack_c0 = puVar3;\n  puStack_b8 = param_2;\n  puStack_6c = param_1;\n  puStack_68 = param_2;\n  if ((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }\n  if (iStack_74 == *piVar26) {\n    return;\n  }\n  pcVar33 = *(code **)(puStack_80 + -0x7ba0);\n  pcVar36 = FUN_000c082c;\n  (*pcVar33)();\n  piVar30 = *(int **)(pcVar33 + 0x9b200);\n  iVar4 = *(int *)(puVar21 + 0x44);\n  iStack_c4 = *piVar30;\n  uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;\n  puStack_bc = param_1;\n  piStack_b4 = piVar26;\n  iStack_b0 = unaff_s4;\n  pcStack_ac = unaff_s5;\n  puStack_a8 = unaff_s6;\n  puStack_a4 = unaff_s7;\n  iStack_a0 = unaff_s8;\n  pcStack_9c = pcVar36;\n  puStack_8c = param_4;\n  if (*(char *)(iVar4 + 0xc) == 'L') {\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  iVar22 = 0x42;\n  (*pcVar36)(piVar26,0x42,iVar28,0,0);\n  piVar27 = (int *)piVar26[0x1b];\n  if (iStack_f8 < 0) {\n    iStack_f8 = (int)piVar27 + -1;\n  }\n  if (*(char *)(*piVar26 + 0x51) == '\0') {\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }\n  else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }\n  *(int **)(iVar4 + 8) = piVar27;\nLAB_000c0f44:\n  if (iStack_c4 == *piVar30) {\n    return;\n  }\n  pcVar33 = *(code **)(pcVar33 + 0x9b1e4);\n  (*pcVar33)();\n  iVar4 = *piVar27;\n  if (iVar22 == 0) {\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }\n  else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }\n  return;\n}" ({ "{") (declaration "ushort uVar1;" (type_identifier "ushort") (identifier "uVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "short sVar13;" (sized_type_specifier "short" (short "short")) (identifier "sVar13") (; ";")) (declaration "undefined1 *puVar5;" (type_identifier "undefined1") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "char cVar14;" (primitive_type "char") (identifier "cVar14") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined1 *puVar18;" (type_identifier "undefined1") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "undefined1 *puVar19;" (type_identifier "undefined1") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (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 "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "undefined1 *puVar24;" (type_identifier "undefined1") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "int iVar25;" (primitive_type "int") (identifier "iVar25") (; ";")) (declaration "int *piVar26;" (primitive_type "int") (pointer_declarator "*piVar26" (* "*") (identifier "piVar26")) (; ";")) (declaration "int *piVar27;" (primitive_type "int") (pointer_declarator "*piVar27" (* "*") (identifier "piVar27")) (; ";")) (declaration "int unaff_s4;" (primitive_type "int") (identifier "unaff_s4") (; ";")) (declaration "code *unaff_s5;" (type_identifier "code") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "int iVar28;" (primitive_type "int") (identifier "iVar28") (; ";")) (declaration "int *piVar29;" (primitive_type "int") (pointer_declarator "*piVar29" (* "*") (identifier "piVar29")) (; ";")) (declaration "undefined1 *unaff_s6;" (type_identifier "undefined1") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "int *piVar30;" (primitive_type "int") (pointer_declarator "*piVar30" (* "*") (identifier "piVar30")) (; ";")) (declaration "undefined1 *unaff_s7;" (type_identifier "undefined1") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "int iVar31;" (primitive_type "int") (identifier "iVar31") (; ";")) (declaration "undefined *puVar32;" (type_identifier "undefined") (pointer_declarator "*puVar32" (* "*") (identifier "puVar32")) (; ";")) (declaration "code *pcVar33;" (type_identifier "code") (pointer_declarator "*pcVar33" (* "*") (identifier "pcVar33")) (; ";")) (declaration "int unaff_s8;" (primitive_type "int") (identifier "unaff_s8") (; ";")) (declaration "int iVar34;" (primitive_type "int") (identifier "iVar34") (; ";")) (declaration "code *pcVar35;" (type_identifier "code") (pointer_declarator "*pcVar35" (* "*") (identifier "pcVar35")) (; ";")) (declaration "code *pcVar36;" (type_identifier "code") (pointer_declarator "*pcVar36" (* "*") (identifier "pcVar36")) (; ";")) (declaration "int iStack_f8;" (primitive_type "int") (identifier "iStack_f8") (; ";")) (declaration "code *pcStack_f4;" (type_identifier "code") (pointer_declarator "*pcStack_f4" (* "*") (identifier "pcStack_f4")) (; ";")) (declaration "int iStack_f0;" (primitive_type "int") (identifier "iStack_f0") (; ";")) (declaration "int iStack_e8;" (primitive_type "int") (identifier "iStack_e8") (; ";")) (declaration "code *pcStack_e4;" (type_identifier "code") (pointer_declarator "*pcStack_e4" (* "*") (identifier "pcStack_e4")) (; ";")) (declaration "int *piStack_e0;" (primitive_type "int") (pointer_declarator "*piStack_e0" (* "*") (identifier "piStack_e0")) (; ";")) (declaration "undefined4 uStack_c8;" (type_identifier "undefined4") (identifier "uStack_c8") (; ";")) (declaration "int iStack_c4;" (primitive_type "int") (identifier "iStack_c4") (; ";")) (declaration "undefined1 *puStack_c0;" (type_identifier "undefined1") (pointer_declarator "*puStack_c0" (* "*") (identifier "puStack_c0")) (; ";")) (declaration "undefined1 *puStack_bc;" (type_identifier "undefined1") (pointer_declarator "*puStack_bc" (* "*") (identifier "puStack_bc")) (; ";")) (declaration "undefined1 *puStack_b8;" (type_identifier "undefined1") (pointer_declarator "*puStack_b8" (* "*") (identifier "puStack_b8")) (; ";")) (declaration "int *piStack_b4;" (primitive_type "int") (pointer_declarator "*piStack_b4" (* "*") (identifier "piStack_b4")) (; ";")) (declaration "int iStack_b0;" (primitive_type "int") (identifier "iStack_b0") (; ";")) (declaration "code *pcStack_ac;" (type_identifier "code") (pointer_declarator "*pcStack_ac" (* "*") (identifier "pcStack_ac")) (; ";")) (declaration "undefined1 *puStack_a8;" (type_identifier "undefined1") (pointer_declarator "*puStack_a8" (* "*") (identifier "puStack_a8")) (; ";")) (declaration "undefined1 *puStack_a4;" (type_identifier "undefined1") (pointer_declarator "*puStack_a4" (* "*") (identifier "puStack_a4")) (; ";")) (declaration "int iStack_a0;" (primitive_type "int") (identifier "iStack_a0") (; ";")) (declaration "code *pcStack_9c;" (type_identifier "code") (pointer_declarator "*pcStack_9c" (* "*") (identifier "pcStack_9c")) (; ";")) (declaration "undefined1 *puStack_8c;" (type_identifier "undefined1") (pointer_declarator "*puStack_8c" (* "*") (identifier "puStack_8c")) (; ";")) (declaration "int iStack_88;" (primitive_type "int") (identifier "iStack_88") (; ";")) (declaration "undefined *puStack_80;" (type_identifier "undefined") (pointer_declarator "*puStack_80" (* "*") (identifier "puStack_80")) (; ";")) (declaration "undefined1 *puStack_78;" (type_identifier "undefined1") (pointer_declarator "*puStack_78" (* "*") (identifier "puStack_78")) (; ";")) (declaration "int iStack_74;" (primitive_type "int") (identifier "iStack_74") (; ";")) (declaration "undefined *puStack_70;" (type_identifier "undefined") (pointer_declarator "*puStack_70" (* "*") (identifier "puStack_70")) (; ";")) (declaration "undefined1 *puStack_6c;" (type_identifier "undefined1") (pointer_declarator "*puStack_6c" (* "*") (identifier "puStack_6c")) (; ";")) (declaration "undefined1 *puStack_68;" (type_identifier "undefined1") (pointer_declarator "*puStack_68" (* "*") (identifier "puStack_68")) (; ";")) (declaration "undefined1 auStack_30 [4];" (type_identifier "undefined1") (array_declarator "auStack_30 [4]" (identifier "auStack_30") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined *local_2c;" (type_identifier "undefined") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "undefined *local_28;" (type_identifier "undefined") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "char local_1c;" (primitive_type "char") (identifier "local_1c") (; ";")) (declaration "undefined4 local_18;" (type_identifier "undefined4") (identifier "local_18") (; ";")) (declaration "int local_14;" (primitive_type "int") (identifier "local_14") (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0015ba2c" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_0015ba2c")) (; ";")) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_0015ba2c" (identifier "local_14") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c")))) (; ";")) (expression_statement "puVar17 = param_1;" (assignment_expression "puVar17 = param_1" (identifier "puVar17") (= "=") (identifier "param_1")) (; ";")) (expression_statement "puVar20 = param_2;" (assignment_expression "puVar20 = param_2" (identifier "puVar20") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (param_1[0x17] == '\0') {\nLAB_000c042c:\n    FUN_000c02d8();\n  }\n  else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }" (if "if") (parenthesized_expression "(param_1[0x17] == '\0')" (( "(") (binary_expression "param_1[0x17] == '\0'" (subscript_expression "param_1[0x17]" (identifier "param_1") ([ "[") (number_literal "0x17") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_000c042c:\n    FUN_000c02d8();\n  }" ({ "{") (labeled_statement "LAB_000c042c:\n    FUN_000c02d8();" (statement_identifier "LAB_000c042c") (: ":") (expression_statement "FUN_000c02d8();" (call_expression "FUN_000c02d8()" (identifier "FUN_000c02d8") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }" (else "else") (compound_statement "{\n    local_18 = 0;\n    local_1c = '\x02';\n    local_2c = PTR_LAB_0015b6d8 + 0x7abc;\n    local_28 = PTR_LAB_0015b65c + -0xbec;\n    if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;\n    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();\n  }" ({ "{") (expression_statement "local_18 = 0;" (assignment_expression "local_18 = 0" (identifier "local_18") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1c = '\x02';" (assignment_expression "local_1c = '\x02'" (identifier "local_1c") (= "=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (; ";")) (expression_statement "local_2c = PTR_LAB_0015b6d8 + 0x7abc;" (assignment_expression "local_2c = PTR_LAB_0015b6d8 + 0x7abc" (identifier "local_2c") (= "=") (binary_expression "PTR_LAB_0015b6d8 + 0x7abc" (identifier "PTR_LAB_0015b6d8") (+ "+") (number_literal "0x7abc"))) (; ";")) (expression_statement "local_28 = PTR_LAB_0015b65c + -0xbec;" (assignment_expression "local_28 = PTR_LAB_0015b65c + -0xbec" (identifier "local_28") (= "=") (binary_expression "PTR_LAB_0015b65c + -0xbec" (identifier "PTR_LAB_0015b65c") (+ "+") (number_literal "-0xbec"))) (; ";")) (if_statement "if ((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;" (if "if") (parenthesized_expression "((param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0'))" (( "(") (binary_expression "(param_2 != (undefined1 *)0x0) &&\n       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')" (parenthesized_expression "(param_2 != (undefined1 *)0x0)" (( "(") (binary_expression "param_2 != (undefined1 *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')" (( "(") (comma_expression "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0'" (call_expression "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6d8 + 0x6e6c)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6d8 + 0x6e6c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6d8 + 0x6e6c)" (( "(") (binary_expression "PTR_LAB_0015b6d8 + 0x6e6c" (identifier "PTR_LAB_0015b6d8") (+ "+") (number_literal "0x6e6c")) () ")")))) () ")")) (argument_list "(auStack_30)" (( "(") (identifier "auStack_30") () ")"))) (, ",") (binary_expression "local_1c == '\0'" (identifier "local_1c") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (goto_statement "goto LAB_000c042c;" (goto "goto") (statement_identifier "LAB_000c042c") (; ";"))) (expression_statement "(*(code *)(PTR_LAB_0015b714 + 0x1c50))();" (call_expression "(*(code *)(PTR_LAB_0015b714 + 0x1c50))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b714 + 0x1c50))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b714 + 0x1c50)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b714 + 0x1c50)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b714 + 0x1c50)" (( "(") (binary_expression "PTR_LAB_0015b714 + 0x1c50" (identifier "PTR_LAB_0015b714") (+ "+") (number_literal "0x1c50")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_14 == *(int *)puVar3) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_14 == *(int *)puVar3)" (( "(") (binary_expression "local_14 == *(int *)puVar3" (identifier "local_14") (== "==") (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar32 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar32 = PTR___stack_chk_fail_0015ba10" (identifier "puVar32") (= "=") (identifier "PTR___stack_chk_fail_0015ba10")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0015ba10"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_80 = puVar32 + 0xa3120;" (assignment_expression "puStack_80 = puVar32 + 0xa3120" (identifier "puStack_80") (= "=") (binary_expression "puVar32 + 0xa3120" (identifier "puVar32") (+ "+") (number_literal "0xa3120"))) (; ";")) (expression_statement "puStack_70 = puVar3;" (assignment_expression "puStack_70 = puVar3" (identifier "puStack_70") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "piVar26 = *(int **)(puVar32 + 0x9b59c);" (assignment_expression "piVar26 = *(int **)(puVar32 + 0x9b59c)" (identifier "piVar26") (= "=") (pointer_expression "*(int **)(puVar32 + 0x9b59c)" (* "*") (cast_expression "(int **)(puVar32 + 0x9b59c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar32 + 0x9b59c)" (( "(") (binary_expression "puVar32 + 0x9b59c" (identifier "puVar32") (+ "+") (number_literal "0x9b59c")) () ")"))))) (; ";")) (expression_statement "iStack_74 = *piVar26;" (assignment_expression "iStack_74 = *piVar26" (identifier "iStack_74") (= "=") (pointer_expression "*piVar26" (* "*") (identifier "piVar26"))) (; ";")) (expression_statement "puVar18 = puVar17;" (assignment_expression "puVar18 = puVar17" (identifier "puVar18") (= "=") (identifier "puVar17")) (; ";")) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" (identifier "puVar21") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "puVar24 = param_3;" (assignment_expression "puVar24 = param_3" (identifier "puVar24") (= "=") (identifier "param_3")) (; ";")) (expression_statement "puStack_c0 = puVar3;" (assignment_expression "puStack_c0 = puVar3" (identifier "puStack_c0") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puStack_b8 = param_2;" (assignment_expression "puStack_b8 = param_2" (identifier "puStack_b8") (= "=") (identifier "param_2")) (; ";")) (expression_statement "puStack_6c = param_1;" (assignment_expression "puStack_6c = param_1" (identifier "puStack_6c") (= "=") (identifier "param_1")) (; ";")) (expression_statement "puStack_68 = param_2;" (assignment_expression "puStack_68 = param_2" (identifier "puStack_68") (= "=") (identifier "param_2")) (; ";")) (if_statement "if ((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }" (if "if") (parenthesized_expression "((*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0))" (( "(") (binary_expression "(*(int *)(puVar20 + 0xc) == 0) &&\n     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)" (parenthesized_expression "(*(int *)(puVar20 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(puVar20 + 0xc) == 0" (pointer_expression "*(int *)(puVar20 + 0xc)" (* "*") (cast_expression "(int *)(puVar20 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0xc)" (( "(") (binary_expression "puVar20 + 0xc" (identifier "puVar20") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)" (( "(") (comma_expression "unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0" (assignment_expression "unaff_s4 = *(int *)(puVar20 + 0x3c)" (identifier "unaff_s4") (= "=") (pointer_expression "*(int *)(puVar20 + 0x3c)" (* "*") (cast_expression "(int *)(puVar20 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x3c)" (( "(") (binary_expression "puVar20 + 0x3c" (identifier "puVar20") (+ "+") (number_literal "0x3c")) () ")"))))) (, ",") (comma_expression "puStack_c0 = puVar20, unaff_s4 != 0" (assignment_expression "puStack_c0 = puVar20" (identifier "puStack_c0") (= "=") (identifier "puVar20")) (, ",") (binary_expression "unaff_s4 != 0" (identifier "unaff_s4") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);\n    *(undefined1 **)(puVar17 + 0x2c) = param_1;\n    *(undefined1 **)(puVar20 + 0xc) = param_1;\n    unaff_s6 = *(undefined1 **)(puVar17 + 8);\n    if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }\n    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);\n    puVar18 = unaff_s6;\n    if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }\n    puStack_b8 = puVar17;\n    unaff_s7 = param_3;\n    if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }\n  }" ({ "{") (expression_statement "param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);" (assignment_expression "param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1)" (identifier "param_1") (= "=") (cast_expression "(undefined1 *)(*(int *)(puVar17 + 0x2c) + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar17 + 0x2c) + 1)" (( "(") (binary_expression "*(int *)(puVar17 + 0x2c) + 1" (pointer_expression "*(int *)(puVar17 + 0x2c)" (* "*") (cast_expression "(int *)(puVar17 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x2c)" (( "(") (binary_expression "puVar17 + 0x2c" (identifier "puVar17") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + 0x2c) = param_1;" (assignment_expression "*(undefined1 **)(puVar17 + 0x2c) = param_1" (pointer_expression "*(undefined1 **)(puVar17 + 0x2c)" (* "*") (cast_expression "(undefined1 **)(puVar17 + 0x2c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x2c)" (( "(") (binary_expression "puVar17 + 0x2c" (identifier "puVar17") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined1 **)(puVar20 + 0xc) = param_1;" (assignment_expression "*(undefined1 **)(puVar20 + 0xc) = param_1" (pointer_expression "*(undefined1 **)(puVar20 + 0xc)" (* "*") (cast_expression "(undefined1 **)(puVar20 + 0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0xc)" (( "(") (binary_expression "puVar20 + 0xc" (identifier "puVar20") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "unaff_s6 = *(undefined1 **)(puVar17 + 8);" (assignment_expression "unaff_s6 = *(undefined1 **)(puVar17 + 8)" (identifier "unaff_s6") (= "=") (pointer_expression "*(undefined1 **)(puVar17 + 8)" (* "*") (cast_expression "(undefined1 **)(puVar17 + 8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 8)" (( "(") (binary_expression "puVar17 + 8" (identifier "puVar17") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (unaff_s6 == (undefined1 *)0x0) {\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }" (if "if") (parenthesized_expression "(unaff_s6 == (undefined1 *)0x0)" (( "(") (binary_expression "unaff_s6 == (undefined1 *)0x0" (identifier "unaff_s6") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();\n    }" ({ "{") (expression_statement "unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();" (assignment_expression "unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))()" (identifier "unaff_s6") (= "=") (cast_expression "(undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))()" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))()" (parenthesized_expression "(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c)" (* "*") (cast_expression "(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar32 + 0x9b280) + -0x371c)" (( "(") (binary_expression "*(int *)(puVar32 + 0x9b280) + -0x371c" (pointer_expression "*(int *)(puVar32 + 0x9b280)" (* "*") (cast_expression "(int *)(puVar32 + 0x9b280)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0x9b280)" (( "(") (binary_expression "puVar32 + 0x9b280" (identifier "puVar32") (+ "+") (number_literal "0x9b280")) () ")")))) (+ "+") (number_literal "-0x371c")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);" (assignment_expression "iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78)" (identifier "iVar4") (= "=") (call_expression "(*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))\n                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78)" (parenthesized_expression "(*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))" (( "(") (pointer_expression "*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0)" (* "*") (cast_expression "(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0)" (( "(") (binary_expression "*(int *)(puStack_80 + -0x7ed8) + 0x7cb0" (pointer_expression "*(int *)(puStack_80 + -0x7ed8)" (* "*") (cast_expression "(int *)(puStack_80 + -0x7ed8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_80 + -0x7ed8)" (( "(") (binary_expression "puStack_80 + -0x7ed8" (identifier "puStack_80") (+ "+") (number_literal "-0x7ed8")) () ")")))) (+ "+") (number_literal "0x7cb0")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(unaff_s4 + 0xc),&puStack_78)" (( "(") (pointer_expression "*(undefined4 *)(unaff_s4 + 0xc)" (* "*") (cast_expression "(undefined4 *)(unaff_s4 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + 0xc)" (( "(") (binary_expression "unaff_s4 + 0xc" (identifier "unaff_s4") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (pointer_expression "&puStack_78" (& "&") (identifier "puStack_78")) () ")")))) (; ";")) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" (identifier "puVar18") (= "=") (identifier "unaff_s6")) (; ";")) (if_statement "if (iVar4 == 0) {\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }\n    else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      (*unaff_s5)(unaff_s6,0xf,param_1,0);\n      puVar21 = (undefined1 *)0x14;\n      iStack_88 = 0;\n      puVar24 = param_1;\n      param_4 = param_3;\n      (*unaff_s5)();\n    }" ({ "{") (expression_statement "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);" (call_expression "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1)" (identifier "FUN_000c02d8") (argument_list "(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1)" (( "(") (identifier "puVar17") (, ",") (pointer_expression "*(undefined4 *)(unaff_s4 + 0xc)" (* "*") (cast_expression "(undefined4 *)(unaff_s4 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + 0xc)" (( "(") (binary_expression "unaff_s4 + 0xc" (identifier "unaff_s4") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" (identifier "iStack_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);" (assignment_expression "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" (identifier "unaff_s5") (= "=") (cast_expression "(code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" (( "(") (binary_expression "*(int *)(puStack_80 + -0x7ea0) + -0x3890" (pointer_expression "*(int *)(puStack_80 + -0x7ea0)" (* "*") (cast_expression "(int *)(puStack_80 + -0x7ea0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_80 + -0x7ea0)" (( "(") (binary_expression "puStack_80 + -0x7ea0" (identifier "puStack_80") (+ "+") (number_literal "-0x7ea0")) () ")")))) (+ "+") (number_literal "-0x3890")) () ")")))) (; ";")) (expression_statement "(*unaff_s5)(unaff_s6,0xf,param_1,0);" (call_expression "(*unaff_s5)(unaff_s6,0xf,param_1,0)" (parenthesized_expression "(*unaff_s5)" (( "(") (pointer_expression "*unaff_s5" (* "*") (identifier "unaff_s5")) () ")")) (argument_list "(unaff_s6,0xf,param_1,0)" (( "(") (identifier "unaff_s6") (, ",") (number_literal "0xf") (, ",") (identifier "param_1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar21 = (undefined1 *)0x14;" (assignment_expression "puVar21 = (undefined1 *)0x14" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)0x14" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x14"))) (; ";")) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" (identifier "iStack_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24 = param_1;" (assignment_expression "puVar24 = param_1" (identifier "puVar24") (= "=") (identifier "param_1")) (; ";")) (expression_statement "param_4 = param_3;" (assignment_expression "param_4 = param_3" (identifier "param_4") (= "=") (identifier "param_3")) (; ";")) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" (( "(") (pointer_expression "*unaff_s5" (* "*") (identifier "unaff_s5")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }" (else "else") (compound_statement "{\n      puVar21 = (undefined1 *)0x46;\n      iStack_88 = 0;\n      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);\n      puVar24 = puStack_78;\n      param_4 = param_1;\n      (*unaff_s5)();\n      if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "puVar21 = (undefined1 *)0x46;" (assignment_expression "puVar21 = (undefined1 *)0x46" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)0x46" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x46"))) (; ";")) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" (identifier "iStack_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);" (assignment_expression "unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" (identifier "unaff_s5") (= "=") (cast_expression "(code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_80 + -0x7ea0) + -0x3890)" (( "(") (binary_expression "*(int *)(puStack_80 + -0x7ea0) + -0x3890" (pointer_expression "*(int *)(puStack_80 + -0x7ea0)" (* "*") (cast_expression "(int *)(puStack_80 + -0x7ea0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_80 + -0x7ea0)" (( "(") (binary_expression "puStack_80 + -0x7ea0" (identifier "puStack_80") (+ "+") (number_literal "-0x7ea0")) () ")")))) (+ "+") (number_literal "-0x3890")) () ")")))) (; ";")) (expression_statement "puVar24 = puStack_78;" (assignment_expression "puVar24 = puStack_78" (identifier "puVar24") (= "=") (identifier "puStack_78")) (; ";")) (expression_statement "param_4 = param_1;" (assignment_expression "param_4 = param_1" (identifier "param_4") (= "=") (identifier "param_1")) (; ";")) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" (( "(") (pointer_expression "*unaff_s5" (* "*") (identifier "unaff_s5")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puStack_78 == (undefined1 *)0x0) {\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }\n      else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(puStack_78 == (undefined1 *)0x0)" (( "(") (binary_expression "puStack_78 == (undefined1 *)0x0" (identifier "puStack_78") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        puVar24 = (undefined1 *)0x0;\n        iStack_88 = 0;\n        puVar21 = &DAT_0000000b;\n        puVar18 = unaff_s6;\n        param_4 = param_3;\n        (*unaff_s5)();\n      }" ({ "{") (expression_statement "puVar24 = (undefined1 *)0x0;" (assignment_expression "puVar24 = (undefined1 *)0x0" (identifier "puVar24") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" (identifier "iStack_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar21 = &DAT_0000000b;" (assignment_expression "puVar21 = &DAT_0000000b" (identifier "puVar21") (= "=") (pointer_expression "&DAT_0000000b" (& "&") (identifier "DAT_0000000b"))) (; ";")) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" (identifier "puVar18") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "param_4 = param_3;" (assignment_expression "param_4 = param_3" (identifier "param_4") (= "=") (identifier "param_3")) (; ";")) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" (( "(") (pointer_expression "*unaff_s5" (* "*") (identifier "unaff_s5")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" (else "else") (if_statement "if (-1 < (int)puStack_78) {\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(-1 < (int)puStack_78)" (( "(") (binary_expression "-1 < (int)puStack_78" (number_literal "-1") (< "<") (cast_expression "(int)puStack_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puStack_78"))) () ")")) (compound_statement "{\n        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);\n        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);\n        if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }\n      }" ({ "{") (expression_statement "puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);" (assignment_expression "puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6)" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)(int)*(short *)(puVar20 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)*(short *)(puVar20 + 6)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(puVar20 + 6)" (* "*") (cast_expression "(short *)(puVar20 + 6)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 6)" (( "(") (binary_expression "puVar20 + 6" (identifier "puVar20") (+ "+") (number_literal "6")) () ")"))))))) (; ";")) (expression_statement "puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);" (assignment_expression "puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f)" (identifier "puVar24") (= "=") (cast_expression "(undefined1 *)((int)puStack_78 >> 0x1f)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puStack_78 >> 0x1f)" (( "(") (binary_expression "(int)puStack_78 >> 0x1f" (cast_expression "(int)puStack_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puStack_78")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if ((int)puStack_78 < 8) {\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }\n        else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }" (if "if") (parenthesized_expression "((int)puStack_78 < 8)" (( "(") (binary_expression "(int)puStack_78 < 8" (cast_expression "(int)puStack_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puStack_78")) (< "<") (number_literal "8")) () ")")) (compound_statement "{\n          sVar13 = 0x1e;\n          puVar5 = puVar24;\n          puVar19 = puStack_78;\n          if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }\n        }" ({ "{") (expression_statement "sVar13 = 0x1e;" (assignment_expression "sVar13 = 0x1e" (identifier "sVar13") (= "=") (number_literal "0x1e")) (; ";")) (expression_statement "puVar5 = puVar24;" (assignment_expression "puVar5 = puVar24" (identifier "puVar5") (= "=") (identifier "puVar24")) (; ";")) (expression_statement "puVar19 = puStack_78;" (assignment_expression "puVar19 = puStack_78" (identifier "puVar19") (= "=") (identifier "puStack_78")) (; ";")) (if_statement "if (puStack_78 == (undefined1 *)0x1) {\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }\n          else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }" (if "if") (parenthesized_expression "(puStack_78 == (undefined1 *)0x1)" (( "(") (binary_expression "puStack_78 == (undefined1 *)0x1" (identifier "puStack_78") (== "==") (cast_expression "(undefined1 *)0x1" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n            sVar13 = 0;\n            if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }\n          }" ({ "{") (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" (identifier "sVar13") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < (int)puVar21) {\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }" (if "if") (parenthesized_expression "(0 < (int)puVar21)" (( "(") (binary_expression "0 < (int)puVar21" (number_literal "0") (< "<") (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21"))) () ")")) (compound_statement "{\n              uVar16 = *(uint *)(puVar20 + 8);\n              goto LAB_000c0614;\n            }" ({ "{") (expression_statement "uVar16 = *(uint *)(puVar20 + 8);" (assignment_expression "uVar16 = *(uint *)(puVar20 + 8)" (identifier "uVar16") (= "=") (pointer_expression "*(uint *)(puVar20 + 8)" (* "*") (cast_expression "(uint *)(puVar20 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (goto_statement "goto LAB_000c0614;" (goto "goto") (statement_identifier "LAB_000c0614") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }" (else "else") (compound_statement "{\n            do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);\n            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n            puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);\n            if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }\n          }" ({ "{") (do_statement "do {\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            } while (puVar18 < &DAT_00000008);" (do "do") (compound_statement "{\n              puVar18 = (undefined1 *)((int)puVar19 << 1);\n              sVar13 = sVar13 + -10;\n              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;\n              puVar5 = (undefined1 *)0x0;\n              puVar19 = puVar18;\n            }" ({ "{") (expression_statement "puVar18 = (undefined1 *)((int)puVar19 << 1);" (assignment_expression "puVar18 = (undefined1 *)((int)puVar19 << 1)" (identifier "puVar18") (= "=") (cast_expression "(undefined1 *)((int)puVar19 << 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 << 1)" (( "(") (binary_expression "(int)puVar19 << 1" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (<< "<<") (number_literal "1")) () ")")))) (; ";")) (expression_statement "sVar13 = sVar13 + -10;" (assignment_expression "sVar13 = sVar13 + -10" (identifier "sVar13") (= "=") (binary_expression "sVar13 + -10" (identifier "sVar13") (+ "+") (number_literal "-10"))) (; ";")) (if_statement "if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;" (if "if") (parenthesized_expression "((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0)" (( "(") (binary_expression "(int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0" (binary_expression "(int)puVar19 < 0" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (< "<") (number_literal "0")) (|| "||") (binary_expression "((uint)puVar5 & 0x7fffffff) != 0" (parenthesized_expression "((uint)puVar5 & 0x7fffffff)" (( "(") (binary_expression "(uint)puVar5 & 0x7fffffff" (cast_expression "(uint)puVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar5")) (& "&") (number_literal "0x7fffffff")) () ")")) (!= "!=") (number_literal "0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar5 = (undefined1 *)0x0;" (assignment_expression "puVar5 = (undefined1 *)0x0" (identifier "puVar5") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar19 = puVar18;" (assignment_expression "puVar19 = puVar18" (identifier "puVar19") (= "=") (identifier "puVar18")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar18 < &DAT_00000008)" (( "(") (binary_expression "puVar18 < &DAT_00000008" (identifier "puVar18") (< "<") (pointer_expression "&DAT_00000008" (& "&") (identifier "DAT_00000008"))) () ")")) (; ";")) (expression_statement "param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);" (assignment_expression "param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20)" (identifier "param_4") (= "=") (cast_expression "(undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_80 + -0x7fb4) + 0x2c20)" (( "(") (binary_expression "*(int *)(puStack_80 + -0x7fb4) + 0x2c20" (pointer_expression "*(int *)(puStack_80 + -0x7fb4)" (* "*") (cast_expression "(int *)(puStack_80 + -0x7fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_80 + -0x7fb4)" (( "(") (binary_expression "puStack_80 + -0x7fb4" (identifier "puStack_80") (+ "+") (number_literal "-0x7fb4")) () ")")))) (+ "+") (number_literal "0x2c20")) () ")")))) (; ";")) (expression_statement "puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21);" (assignment_expression "puVar21 = (undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)\n                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21)" (( "(") (binary_expression "(int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <\n                            (int)puVar21" (cast_expression "(int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2))" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (parenthesized_expression "(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2))" (( "(") (binary_expression "sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)" (identifier "sVar13") (+ "+") (pointer_expression "*(short *)(param_4 + ((uint)puVar18 & 7) * 2)" (* "*") (cast_expression "(short *)(param_4 + ((uint)puVar18 & 7) * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + ((uint)puVar18 & 7) * 2)" (( "(") (binary_expression "param_4 + ((uint)puVar18 & 7) * 2" (identifier "param_4") (+ "+") (binary_expression "((uint)puVar18 & 7) * 2" (parenthesized_expression "((uint)puVar18 & 7)" (( "(") (binary_expression "(uint)puVar18 & 7" (cast_expression "(uint)puVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar18")) (& "&") (number_literal "7")) () ")")) (* "*") (number_literal "2"))) () ")"))))) () ")")))) (< "<") (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21"))) () ")"))))) (; ";")) (if_statement "if (puVar21 != (undefined1 *)0x0) {\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }" (if "if") (parenthesized_expression "(puVar21 != (undefined1 *)0x0)" (( "(") (binary_expression "puVar21 != (undefined1 *)0x0" (identifier "puVar21") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);\n              sVar13 = 0x1e;\n              while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }\n              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);\n              goto LAB_000c0604;\n            }" ({ "{") (expression_statement "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);" (assignment_expression "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f)" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)((uint)puStack_78 >> 0x1f)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puStack_78 >> 0x1f)" (( "(") (binary_expression "(uint)puStack_78 >> 0x1f" (cast_expression "(uint)puStack_78" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puStack_78")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "sVar13 = 0x1e;" (assignment_expression "sVar13 = 0x1e" (identifier "sVar13") (= "=") (number_literal "0x1e")) (; ";")) (while_statement "while( true ) {\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                puStack_78 = (undefined1 *)((int)puStack_78 << 1);\n                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);\n                if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;\n                puVar24 = (undefined1 *)0x0;\n                sVar13 = sVar13 + -10;\n              }" ({ "{") (expression_statement "puStack_78 = (undefined1 *)((int)puStack_78 << 1);" (assignment_expression "puStack_78 = (undefined1 *)((int)puStack_78 << 1)" (identifier "puStack_78") (= "=") (cast_expression "(undefined1 *)((int)puStack_78 << 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puStack_78 << 1)" (( "(") (binary_expression "(int)puStack_78 << 1" (cast_expression "(int)puStack_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puStack_78")) (<< "<<") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);" (assignment_expression "puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1)" (identifier "puVar24") (= "=") (cast_expression "(undefined1 *)((uint)puVar21 | (int)puVar24 << 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar21 | (int)puVar24 << 1)" (( "(") (binary_expression "(uint)puVar21 | (int)puVar24 << 1" (cast_expression "(uint)puVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar21")) (| "|") (binary_expression "(int)puVar24 << 1" (cast_expression "(int)puVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar24")) (<< "<<") (number_literal "1"))) () ")")))) (; ";")) (if_statement "if ((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))\n                break;" (if "if") (parenthesized_expression "((puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))" (( "(") (binary_expression "(puVar24 != (undefined1 *)0x0) ||\n                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78)" (parenthesized_expression "(puVar24 != (undefined1 *)0x0)" (( "(") (binary_expression "puVar24 != (undefined1 *)0x0" (identifier "puVar24") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78)" (( "(") (comma_expression "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78" (assignment_expression "puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f)" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)((uint)puStack_78 >> 0x1f)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puStack_78 >> 0x1f)" (( "(") (binary_expression "(uint)puStack_78 >> 0x1f" (cast_expression "(uint)puStack_78" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puStack_78")) (>> ">>") (number_literal "0x1f")) () ")")))) (, ",") (binary_expression "&DAT_00000007 < puStack_78" (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")) (< "<") (identifier "puStack_78"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar24 = (undefined1 *)0x0;" (assignment_expression "puVar24 = (undefined1 *)0x0" (identifier "puVar24") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "sVar13 = sVar13 + -10;" (assignment_expression "sVar13 = sVar13 + -10" (identifier "sVar13") (= "=") (binary_expression "sVar13 + -10" (identifier "sVar13") (+ "+") (number_literal "-10"))) (; ";")) (} "}"))) (expression_statement "puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);" (assignment_expression "puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2)" (identifier "puVar18") (= "=") (binary_expression "(undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2)" (cast_expression "(undefined1 *)(uint)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + ((uint)puStack_78 & 7) * 2)" (( "(") (binary_expression "param_4 + ((uint)puStack_78 & 7) * 2" (identifier "param_4") (+ "+") (binary_expression "((uint)puStack_78 & 7) * 2" (parenthesized_expression "((uint)puStack_78 & 7)" (( "(") (binary_expression "(uint)puStack_78 & 7" (cast_expression "(uint)puStack_78" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puStack_78")) (& "&") (number_literal "7")) () ")")) (* "*") (number_literal "2"))) () ")"))))) (; ";")) (goto_statement "goto LAB_000c0604;" (goto "goto") (statement_identifier "LAB_000c0604") (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }" (else "else") (compound_statement "{\n          if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }\n          uVar15 = 0x3c - iVar4;\n          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));\n          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);\n          if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }\n          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);\n          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);\n          puVar18 = (undefined1 *)(uint)uVar1;\n          sVar13 = (short)(uVar15 * 10) + 0x28;\n          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);\n          if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }\n        }" ({ "{") (if_statement "if ((int)puStack_78 < 0) {\n            iVar4 = LZCOUNT(puVar24);\n          }\n          else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }" (if "if") (parenthesized_expression "((int)puStack_78 < 0)" (( "(") (binary_expression "(int)puStack_78 < 0" (cast_expression "(int)puStack_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puStack_78")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            iVar4 = LZCOUNT(puVar24);\n          }" ({ "{") (expression_statement "iVar4 = LZCOUNT(puVar24);" (assignment_expression "iVar4 = LZCOUNT(puVar24)" (identifier "iVar4") (= "=") (call_expression "LZCOUNT(puVar24)" (identifier "LZCOUNT") (argument_list "(puVar24)" (( "(") (identifier "puVar24") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }" (else "else") (compound_statement "{\n            iVar4 = LZCOUNT(puStack_78) + 0x20;\n          }" ({ "{") (expression_statement "iVar4 = LZCOUNT(puStack_78) + 0x20;" (assignment_expression "iVar4 = LZCOUNT(puStack_78) + 0x20" (identifier "iVar4") (= "=") (binary_expression "LZCOUNT(puStack_78) + 0x20" (call_expression "LZCOUNT(puStack_78)" (identifier "LZCOUNT") (argument_list "(puStack_78)" (( "(") (identifier "puStack_78") () ")"))) (+ "+") (number_literal "0x20"))) (; ";")) (} "}")))) (expression_statement "uVar15 = 0x3c - iVar4;" (assignment_expression "uVar15 = 0x3c - iVar4" (identifier "uVar15") (= "=") (binary_expression "0x3c - iVar4" (number_literal "0x3c") (- "-") (identifier "iVar4"))) (; ";")) (expression_statement "param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));" (assignment_expression "param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f))" (identifier "param_4") (= "=") (cast_expression "(undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f))" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int)puVar24 << 1) << (~uVar15 & 0x1f))" (( "(") (binary_expression "((int)puVar24 << 1) << (~uVar15 & 0x1f)" (parenthesized_expression "((int)puVar24 << 1)" (( "(") (binary_expression "(int)puVar24 << 1" (cast_expression "(int)puVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar24")) (<< "<<") (number_literal "1")) () ")")) (<< "<<") (parenthesized_expression "(~uVar15 & 0x1f)" (( "(") (binary_expression "~uVar15 & 0x1f" (unary_expression "~uVar15" (~ "~") (identifier "uVar15")) (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (expression_statement "uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);" (assignment_expression "uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f)" (identifier "uVar16") (= "=") (binary_expression "(uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f)" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (| "|") (binary_expression "(uint)puStack_78 >> (uVar15 & 0x1f)" (cast_expression "(uint)puStack_78" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puStack_78")) (>> ">>") (parenthesized_expression "(uVar15 & 0x1f)" (( "(") (binary_expression "uVar15 & 0x1f" (identifier "uVar15") (& "&") (number_literal "0x1f")) () ")"))))) (; ";")) (if_statement "if ((uVar15 & 0x20) != 0) {\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }" (if "if") (parenthesized_expression "((uVar15 & 0x20) != 0)" (( "(") (binary_expression "(uVar15 & 0x20) != 0" (parenthesized_expression "(uVar15 & 0x20)" (( "(") (binary_expression "uVar15 & 0x20" (identifier "uVar15") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);\n          }" ({ "{") (expression_statement "uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);" (assignment_expression "uVar16 = (uint)puVar24 >> (uVar15 & 0x1f)" (identifier "uVar16") (= "=") (binary_expression "(uint)puVar24 >> (uVar15 & 0x1f)" (cast_expression "(uint)puVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar24")) (>> ">>") (parenthesized_expression "(uVar15 & 0x1f)" (( "(") (binary_expression "uVar15 & 0x1f" (identifier "uVar15") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (} "}"))) (expression_statement "puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);" (assignment_expression "puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e)" (identifier "puVar24") (= "=") (cast_expression "(undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar15 * 10 & 0xffff) + 0x1e)" (( "(") (binary_expression "(uVar15 * 10 & 0xffff) + 0x1e" (parenthesized_expression "(uVar15 * 10 & 0xffff)" (( "(") (binary_expression "uVar15 * 10 & 0xffff" (binary_expression "uVar15 * 10" (identifier "uVar15") (* "*") (number_literal "10")) (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0x1e")) () ")")))) (; ";")) (expression_statement "uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);" (assignment_expression "uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" (identifier "uVar1") (= "=") (pointer_expression "*(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" (* "*") (cast_expression "(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20)" (( "(") (binary_expression "(uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20" (binary_expression "(uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4)" (binary_expression "(uVar16 & 7) * 2" (parenthesized_expression "(uVar16 & 7)" (( "(") (binary_expression "uVar16 & 7" (identifier "uVar16") (& "&") (number_literal "7")) () ")")) (* "*") (number_literal "2")) (+ "+") (pointer_expression "*(int *)(puStack_80 + -0x7fb4)" (* "*") (cast_expression "(int *)(puStack_80 + -0x7fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_80 + -0x7fb4)" (( "(") (binary_expression "puStack_80 + -0x7fb4" (identifier "puStack_80") (+ "+") (number_literal "-0x7fb4")) () ")"))))) (+ "+") (number_literal "0x2c20")) () ")"))))) (; ";")) (expression_statement "puVar18 = (undefined1 *)(uint)uVar1;" (assignment_expression "puVar18 = (undefined1 *)(uint)uVar1" (identifier "puVar18") (= "=") (cast_expression "(undefined1 *)(uint)uVar1" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)uVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar1")))) (; ";")) (expression_statement "sVar13 = (short)(uVar15 * 10) + 0x28;" (assignment_expression "sVar13 = (short)(uVar15 * 10) + 0x28" (identifier "sVar13") (= "=") (binary_expression "(short)(uVar15 * 10) + 0x28" (cast_expression "(short)(uVar15 * 10)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (parenthesized_expression "(uVar15 * 10)" (( "(") (binary_expression "uVar15 * 10" (identifier "uVar15") (* "*") (number_literal "10")) () ")"))) (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);" (assignment_expression "puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)(short)(uVar1 + (short)puVar24) < (int)puVar21)" (( "(") (binary_expression "(int)(short)(uVar1 + (short)puVar24) < (int)puVar21" (cast_expression "(int)(short)(uVar1 + (short)puVar24)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(short)(uVar1 + (short)puVar24)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (parenthesized_expression "(uVar1 + (short)puVar24)" (( "(") (binary_expression "uVar1 + (short)puVar24" (identifier "uVar1") (+ "+") (cast_expression "(short)puVar24" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "puVar24"))) () ")")))) (< "<") (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21"))) () ")"))))) (; ";")) (if_statement "if (puVar21 != (undefined1 *)0x0) {\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }" (if "if") (parenthesized_expression "(puVar21 != (undefined1 *)0x0)" (( "(") (binary_expression "puVar21 != (undefined1 *)0x0" (identifier "puVar21") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;\n            uVar16 = *(uint *)(puVar20 + 8);\nLAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;\n            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;\n          }" ({ "{") (labeled_statement "LAB_000c0604:\n            sVar13 = (short)puVar18 + sVar13 + -10;" (statement_identifier "LAB_000c0604") (: ":") (expression_statement "sVar13 = (short)puVar18 + sVar13 + -10;" (assignment_expression "sVar13 = (short)puVar18 + sVar13 + -10" (identifier "sVar13") (= "=") (binary_expression "(short)puVar18 + sVar13 + -10" (binary_expression "(short)puVar18 + sVar13" (cast_expression "(short)puVar18" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "puVar18")) (+ "+") (identifier "sVar13")) (+ "+") (number_literal "-10"))) (; ";"))) (expression_statement "uVar16 = *(uint *)(puVar20 + 8);" (assignment_expression "uVar16 = *(uint *)(puVar20 + 8)" (identifier "uVar16") (= "=") (pointer_expression "*(uint *)(puVar20 + 8)" (* "*") (cast_expression "(uint *)(puVar20 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (labeled_statement "LAB_000c0614:\n            *(short *)(puVar20 + 6) = sVar13;" (statement_identifier "LAB_000c0614") (: ":") (expression_statement "*(short *)(puVar20 + 6) = sVar13;" (assignment_expression "*(short *)(puVar20 + 6) = sVar13" (pointer_expression "*(short *)(puVar20 + 6)" (* "*") (cast_expression "(short *)(puVar20 + 6)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 6)" (( "(") (binary_expression "puVar20 + 6" (identifier "puVar20") (+ "+") (number_literal "6")) () ")")))) (= "=") (identifier "sVar13")) (; ";"))) (expression_statement "*(uint *)(puVar20 + 8) = uVar16 | 0x4000;" (assignment_expression "*(uint *)(puVar20 + 8) = uVar16 | 0x4000" (pointer_expression "*(uint *)(puVar20 + 8)" (* "*") (cast_expression "(uint *)(puVar20 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "uVar16 | 0x4000" (identifier "uVar16") (| "|") (number_literal "0x4000"))) (; ";")) (} "}"))) (} "}")))) (} "}"))))) (} "}")))) (expression_statement "puStack_b8 = puVar17;" (assignment_expression "puStack_b8 = puVar17" (identifier "puStack_b8") (= "=") (identifier "puVar17")) (; ";")) (expression_statement "unaff_s7 = param_3;" (assignment_expression "unaff_s7 = param_3" (identifier "unaff_s7") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (*(int *)(unaff_s4 + 0x10) != 0) {\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }" (if "if") (parenthesized_expression "(*(int *)(unaff_s4 + 0x10) != 0)" (( "(") (binary_expression "*(int *)(unaff_s4 + 0x10) != 0" (pointer_expression "*(int *)(unaff_s4 + 0x10)" (* "*") (cast_expression "(int *)(unaff_s4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + 0x10)" (( "(") (binary_expression "unaff_s4 + 0x10" (identifier "unaff_s4") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;\n      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);\n      *(int *)(puVar20 + 0x10) = unaff_s8;\n      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;\n      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);\n      iStack_88 = 0;\n      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);\n      puVar21 = (undefined1 *)0x98;\n      puVar18 = unaff_s6;\n      puVar24 = param_1;\n      param_4 = unaff_s7;\n      iStack_88 = unaff_s8;\n      (*unaff_s5)();\n    }" ({ "{") (expression_statement "unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;" (assignment_expression "unaff_s8 = *(int *)(puVar17 + 0x2c) + 1" (identifier "unaff_s8") (= "=") (binary_expression "*(int *)(puVar17 + 0x2c) + 1" (pointer_expression "*(int *)(puVar17 + 0x2c)" (* "*") (cast_expression "(int *)(puVar17 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x2c)" (( "(") (binary_expression "puVar17 + 0x2c" (identifier "puVar17") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);" (assignment_expression "unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2)" (identifier "unaff_s7") (= "=") (cast_expression "(undefined1 *)(*(int *)(puVar17 + 0x2c) + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar17 + 0x2c) + 2)" (( "(") (binary_expression "*(int *)(puVar17 + 0x2c) + 2" (pointer_expression "*(int *)(puVar17 + 0x2c)" (* "*") (cast_expression "(int *)(puVar17 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x2c)" (( "(") (binary_expression "puVar17 + 0x2c" (identifier "puVar17") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*(int *)(puVar20 + 0x10) = unaff_s8;" (assignment_expression "*(int *)(puVar20 + 0x10) = unaff_s8" (pointer_expression "*(int *)(puVar20 + 0x10)" (* "*") (cast_expression "(int *)(puVar20 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x10)" (( "(") (binary_expression "puVar20 + 0x10" (identifier "puVar20") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + 0x2c) = unaff_s7;" (assignment_expression "*(undefined1 **)(puVar17 + 0x2c) = unaff_s7" (pointer_expression "*(undefined1 **)(puVar17 + 0x2c)" (* "*") (cast_expression "(undefined1 **)(puVar17 + 0x2c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x2c)" (( "(") (binary_expression "puVar17 + 0x2c" (identifier "puVar17") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);" (call_expression "FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8)" (identifier "FUN_000c02d8") (argument_list "(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8)" (( "(") (identifier "puVar17") (, ",") (pointer_expression "*(undefined4 *)(unaff_s4 + 0x10)" (* "*") (cast_expression "(undefined4 *)(unaff_s4 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + 0x10)" (( "(") (binary_expression "unaff_s4 + 0x10" (identifier "unaff_s4") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "unaff_s8") () ")"))) (; ";")) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" (identifier "iStack_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*unaff_s5)(unaff_s6,0xf,unaff_s8,0);" (call_expression "(*unaff_s5)(unaff_s6,0xf,unaff_s8,0)" (parenthesized_expression "(*unaff_s5)" (( "(") (pointer_expression "*unaff_s5" (* "*") (identifier "unaff_s5")) () ")")) (argument_list "(unaff_s6,0xf,unaff_s8,0)" (( "(") (identifier "unaff_s6") (, ",") (number_literal "0xf") (, ",") (identifier "unaff_s8") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar21 = (undefined1 *)0x98;" (assignment_expression "puVar21 = (undefined1 *)0x98" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)0x98" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x98"))) (; ";")) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" (identifier "puVar18") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "puVar24 = param_1;" (assignment_expression "puVar24 = param_1" (identifier "puVar24") (= "=") (identifier "param_1")) (; ";")) (expression_statement "param_4 = unaff_s7;" (assignment_expression "param_4 = unaff_s7" (identifier "param_4") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "iStack_88 = unaff_s8;" (assignment_expression "iStack_88 = unaff_s8" (identifier "iStack_88") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "(*unaff_s5)();" (call_expression "(*unaff_s5)()" (parenthesized_expression "(*unaff_s5)" (( "(") (pointer_expression "*unaff_s5" (* "*") (identifier "unaff_s5")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (iStack_74 == *piVar26) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_74 == *piVar26)" (( "(") (binary_expression "iStack_74 == *piVar26" (identifier "iStack_74") (== "==") (pointer_expression "*piVar26" (* "*") (identifier "piVar26"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar33 = *(code **)(puStack_80 + -0x7ba0);" (assignment_expression "pcVar33 = *(code **)(puStack_80 + -0x7ba0)" (identifier "pcVar33") (= "=") (pointer_expression "*(code **)(puStack_80 + -0x7ba0)" (* "*") (cast_expression "(code **)(puStack_80 + -0x7ba0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_80 + -0x7ba0)" (( "(") (binary_expression "puStack_80 + -0x7ba0" (identifier "puStack_80") (+ "+") (number_literal "-0x7ba0")) () ")"))))) (; ";")) (expression_statement "pcVar36 = FUN_000c082c;" (assignment_expression "pcVar36 = FUN_000c082c" (identifier "pcVar36") (= "=") (identifier "FUN_000c082c")) (; ";")) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" (( "(") (pointer_expression "*pcVar33" (* "*") (identifier "pcVar33")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar30 = *(int **)(pcVar33 + 0x9b200);" (assignment_expression "piVar30 = *(int **)(pcVar33 + 0x9b200)" (identifier "piVar30") (= "=") (pointer_expression "*(int **)(pcVar33 + 0x9b200)" (* "*") (cast_expression "(int **)(pcVar33 + 0x9b200)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar33 + 0x9b200)" (( "(") (binary_expression "pcVar33 + 0x9b200" (identifier "pcVar33") (+ "+") (number_literal "0x9b200")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(puVar21 + 0x44);" (assignment_expression "iVar4 = *(int *)(puVar21 + 0x44)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(puVar21 + 0x44)" (* "*") (cast_expression "(int *)(puVar21 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x44)" (( "(") (binary_expression "puVar21 + 0x44" (identifier "puVar21") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "iStack_c4 = *piVar30;" (assignment_expression "iStack_c4 = *piVar30" (identifier "iStack_c4") (= "=") (pointer_expression "*piVar30" (* "*") (identifier "piVar30"))) (; ";")) (expression_statement "uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;" (assignment_expression "uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00" (identifier "uVar16") (= "=") (binary_expression "*(uint *)(iVar4 + 0xc) & 0xffff00" (pointer_expression "*(uint *)(iVar4 + 0xc)" (* "*") (cast_expression "(uint *)(iVar4 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0xffff00"))) (; ";")) (expression_statement "puStack_bc = param_1;" (assignment_expression "puStack_bc = param_1" (identifier "puStack_bc") (= "=") (identifier "param_1")) (; ";")) (expression_statement "piStack_b4 = piVar26;" (assignment_expression "piStack_b4 = piVar26" (identifier "piStack_b4") (= "=") (identifier "piVar26")) (; ";")) (expression_statement "iStack_b0 = unaff_s4;" (assignment_expression "iStack_b0 = unaff_s4" (identifier "iStack_b0") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "pcStack_ac = unaff_s5;" (assignment_expression "pcStack_ac = unaff_s5" (identifier "pcStack_ac") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "puStack_a8 = unaff_s6;" (assignment_expression "puStack_a8 = unaff_s6" (identifier "puStack_a8") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "puStack_a4 = unaff_s7;" (assignment_expression "puStack_a4 = unaff_s7" (identifier "puStack_a4") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "iStack_a0 = unaff_s8;" (assignment_expression "iStack_a0 = unaff_s8" (identifier "iStack_a0") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_9c = pcVar36;" (assignment_expression "pcStack_9c = pcVar36" (identifier "pcStack_9c") (= "=") (identifier "pcVar36")) (; ";")) (expression_statement "puStack_8c = param_4;" (assignment_expression "puStack_8c = param_4" (identifier "puStack_8c") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (*(char *)(iVar4 + 0xc) == 'L') {\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }\n  else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'L')" (( "(") (binary_expression "*(char *)(iVar4 + 0xc) == 'L'" (pointer_expression "*(char *)(iVar4 + 0xc)" (* "*") (cast_expression "(char *)(iVar4 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'L'" (' "'") (character "L") (' "'"))) () ")")) (compound_statement "{\n    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }\n    iVar31 = *(int *)(puVar18 + 0x28);\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar23 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = iVar22 + 3;\n    iVar34 = *(int *)(puVar18 + 0x38) + -2;\n    *(int *)(puVar18 + 0x28) = iVar31 + 2;\n    iVar25 = *(int *)(puVar18 + 0x38) + -1;\n    iVar28 = iVar22 + 1;\n    *(int *)(puVar18 + 0x2c) = iVar6;\n    *(int *)(puVar18 + 0x38) = iVar34;\n    iVar22 = iVar22 + 2;\n    iVar12 = iVar31 + 1;\n    uStack_c8 = 0;\n    (*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);\n    (*pcVar35)(piVar26,iVar25);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);\n    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }\n    if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }\n    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);\n    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);\n    if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }\n    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);\n    iVar23 = piVar26[0x1b];\n    if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }\n    if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }\n    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);\n    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar10 = *(int *)(pcVar33 + 0x9aee8);\n    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }\n    if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }\n    if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }\n    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }\n    if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }\n    (*pcVar36)(piVar26,0xb,0,iVar23,0);\n    (*pcVar35)(piVar26,iVar34);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" ({ "{") (if_statement "if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))\n    goto LAB_000c08b4;" (if "if") (parenthesized_expression "((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))" (( "(") (binary_expression "(uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0)" (parenthesized_expression "(uVar16 == 0x575200)" (( "(") (binary_expression "uVar16 == 0x575200" (identifier "uVar16") (== "==") (number_literal "0x575200")) () ")")) (&& "&&") (parenthesized_expression "(iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0)" (( "(") (comma_expression "iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0" (assignment_expression "iVar22 = *(int *)(pcVar33 + 0x9ae68)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9ae68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9ae68)" (( "(") (binary_expression "pcVar33 + 0x9ae68" (identifier "pcVar33") (+ "+") (number_literal "0x9ae68")) () ")"))))) (, ",") (binary_expression "*(int *)(iVar4 + 8) != 0" (pointer_expression "*(int *)(iVar4 + 8)" (* "*") (cast_expression "(int *)(iVar4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000c08b4;" (goto "goto") (statement_identifier "LAB_000c08b4") (; ";"))) (expression_statement "piVar26 = *(int **)(puVar18 + 8);" (assignment_expression "piVar26 = *(int **)(puVar18 + 8)" (identifier "piVar26") (= "=") (pointer_expression "*(int **)(puVar18 + 8)" (* "*") (cast_expression "(int **)(puVar18 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }" (if "if") (parenthesized_expression "(piVar26 == (int *)0x0)" (( "(") (binary_expression "piVar26 == (int *)0x0" (identifier "piVar26") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n    }" ({ "{") (expression_statement "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);" (assignment_expression "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (identifier "piVar26") (= "=") (cast_expression "(int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x371c" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x371c")) () ")")))) () ")")) (argument_list "(puVar18)" (( "(") (identifier "puVar18") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar31 = *(int *)(puVar18 + 0x28);" (assignment_expression "iVar31 = *(int *)(puVar18 + 0x28)" (identifier "iVar31") (= "=") (pointer_expression "*(int *)(puVar18 + 0x28)" (* "*") (cast_expression "(int *)(puVar18 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x28)" (( "(") (binary_expression "puVar18 + 0x28" (identifier "puVar18") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "iVar22 = *(int *)(puVar18 + 0x2c);" (assignment_expression "iVar22 = *(int *)(puVar18 + 0x2c)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(puVar18 + 0x2c)" (* "*") (cast_expression "(int *)(puVar18 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x2c)" (( "(") (binary_expression "puVar18 + 0x2c" (identifier "puVar18") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "iVar23 = *(int *)(pcVar33 + 0x9aee8);" (assignment_expression "iVar23 = *(int *)(pcVar33 + 0x9aee8)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")"))))) (; ";")) (expression_statement "iVar6 = iVar22 + 3;" (assignment_expression "iVar6 = iVar22 + 3" (identifier "iVar6") (= "=") (binary_expression "iVar22 + 3" (identifier "iVar22") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "iVar34 = *(int *)(puVar18 + 0x38) + -2;" (assignment_expression "iVar34 = *(int *)(puVar18 + 0x38) + -2" (identifier "iVar34") (= "=") (binary_expression "*(int *)(puVar18 + 0x38) + -2" (pointer_expression "*(int *)(puVar18 + 0x38)" (* "*") (cast_expression "(int *)(puVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "*(int *)(puVar18 + 0x28) = iVar31 + 2;" (assignment_expression "*(int *)(puVar18 + 0x28) = iVar31 + 2" (pointer_expression "*(int *)(puVar18 + 0x28)" (* "*") (cast_expression "(int *)(puVar18 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x28)" (( "(") (binary_expression "puVar18 + 0x28" (identifier "puVar18") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "iVar31 + 2" (identifier "iVar31") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar25 = *(int *)(puVar18 + 0x38) + -1;" (assignment_expression "iVar25 = *(int *)(puVar18 + 0x38) + -1" (identifier "iVar25") (= "=") (binary_expression "*(int *)(puVar18 + 0x38) + -1" (pointer_expression "*(int *)(puVar18 + 0x38)" (* "*") (cast_expression "(int *)(puVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "iVar28 = iVar22 + 1;" (assignment_expression "iVar28 = iVar22 + 1" (identifier "iVar28") (= "=") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(puVar18 + 0x2c) = iVar6;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar6" (pointer_expression "*(int *)(puVar18 + 0x2c)" (* "*") (cast_expression "(int *)(puVar18 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x2c)" (( "(") (binary_expression "puVar18 + 0x2c" (identifier "puVar18") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(int *)(puVar18 + 0x38) = iVar34;" (assignment_expression "*(int *)(puVar18 + 0x38) = iVar34" (pointer_expression "*(int *)(puVar18 + 0x38)" (* "*") (cast_expression "(int *)(puVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "iVar34")) (; ";")) (expression_statement "iVar22 = iVar22 + 2;" (assignment_expression "iVar22 = iVar22 + 2" (identifier "iVar22") (= "=") (binary_expression "iVar22 + 2" (identifier "iVar22") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar12 = iVar31 + 1;" (assignment_expression "iVar12 = iVar31 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar31 + 1" (identifier "iVar31") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uStack_c8 = 0;" (assignment_expression "uStack_c8 = 0" (identifier "uStack_c8") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8);" (call_expression "(*(code *)(iVar23 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8)" (parenthesized_expression "(*(code *)(iVar23 + -0x7e94))" (( "(") (pointer_expression "*(code *)(iVar23 + -0x7e94)" (* "*") (cast_expression "(code *)(iVar23 + -0x7e94)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + -0x7e94)" (( "(") (binary_expression "iVar23 + -0x7e94" (identifier "iVar23") (+ "+") (number_literal "-0x7e94")) () ")")))) () ")")) (argument_list "(puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,\n               &uStack_c8)" (( "(") (identifier "puVar18") (, ",") (binary_expression "puVar21 + 0x20" (identifier "puVar21") (+ "+") (number_literal "0x20")) (, ",") (pointer_expression "*(undefined4 *)(puVar21 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar21 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x44)" (( "(") (binary_expression "puVar21 + 0x44" (identifier "puVar21") (+ "+") (number_literal "0x44")) () ")")))) (, ",") (identifier "puVar24") (, ",") (identifier "iVar28") (, ",") (identifier "iVar25") (, ",") (pointer_expression "&uStack_c8" (& "&") (identifier "uStack_c8")) () ")"))) (; ";")) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (identifier "pcVar36") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x3890")) () ")")))) (; ";")) (expression_statement "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);" (assignment_expression "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0)" (identifier "iStack_f8") (= "=") (call_expression "(*pcVar36)(piVar26,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0xb,0,0,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0xb") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3c14)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3c14" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x3c14")) () ")")))) (; ";")) (expression_statement "(*pcVar35)(piVar26,iVar25);" (call_expression "(*pcVar35)(piVar26,iVar25)" (parenthesized_expression "(*pcVar35)" (( "(") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) () ")")) (argument_list "(piVar26,iVar25)" (( "(") (identifier "piVar26") (, ",") (identifier "iVar25") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);" (call_expression "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x11,0,piVar26[0x1b] + 3,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x11") (, ",") (number_literal "0") (, ",") (binary_expression "piVar26[0x1b] + 3" (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "3")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);" (call_expression "(*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x6f") (, ",") (identifier "iVar31") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);" (call_expression "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x6f") (, ",") (identifier "iVar12") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (*(int *)(iVar4 + 0x10) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x10) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x10) != 0" (pointer_expression "*(int *)(iVar4 + 0x10)" (* "*") (cast_expression "(int *)(iVar4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);\n    }" ({ "{") (expression_statement "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);" (call_expression "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22)" (identifier "FUN_000c02d8") (argument_list "(puVar18,*(int *)(iVar4 + 0x10),iVar22)" (( "(") (identifier "puVar18") (, ",") (pointer_expression "*(int *)(iVar4 + 0x10)" (* "*") (cast_expression "(int *)(iVar4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "iVar22") () ")"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2920" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2920")) () ")")))) () ")")) (argument_list "(puVar18,iVar22,0)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar22") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x14) != 0) {\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x14) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x14) != 0" (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);\n      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }\n    }" ({ "{") (expression_statement "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);" (call_expression "FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6)" (identifier "FUN_000c02d8") (argument_list "(puVar18,*(int *)(iVar4 + 0x14),iVar6)" (( "(") (identifier "puVar18") (, ",") (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2920)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2920" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2920")) () ")")))) () ")")) (argument_list "(puVar18,iVar6,1)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar6") (, ",") (number_literal "1") () ")"))) (; ";")) (if_statement "if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S'))" (( "(") (binary_expression "(*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')" (parenthesized_expression "(*(int *)(iVar4 + 0x14) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x14) != 0" (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar4 + 0xd) == 'S')" (( "(") (binary_expression "*(char *)(iVar4 + 0xd) == 'S'" (pointer_expression "*(char *)(iVar4 + 0xd)" (* "*") (cast_expression "(char *)(iVar4 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xd)" (( "(") (binary_expression "iVar4 + 0xd" (identifier "iVar4") (+ "+") (number_literal "0xd")) () ")")))) (== "==") (char_literal "'S'" (' "'") (character "S") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);\n        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);\n      }" ({ "{") (expression_statement "(*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);" (call_expression "(*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x39") (, ",") (identifier "iVar22") (, ",") (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "2")) (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);" (call_expression "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x4e,uStack_c8,iVar22,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x4e") (, ",") (identifier "uStack_c8") (, ",") (identifier "iVar22") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);" (call_expression "(*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x61,iVar22,iVar6,iVar6)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x61") (, ",") (identifier "iVar22") (, ",") (identifier "iVar6") (, ",") (identifier "iVar6") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }" (if "if") (parenthesized_expression "((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U'))" (( "(") (binary_expression "(*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')" (parenthesized_expression "(*(int *)(iVar4 + 0x10) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x10) != 0" (pointer_expression "*(int *)(iVar4 + 0x10)" (* "*") (cast_expression "(int *)(iVar4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'U')" (( "(") (binary_expression "*(char *)(iVar4 + 0xe) == 'U'" (pointer_expression "*(char *)(iVar4 + 0xe)" (* "*") (cast_expression "(char *)(iVar4 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xe)" (( "(") (binary_expression "iVar4 + 0xe" (identifier "iVar4") (+ "+") (number_literal "0xe")) () ")")))) (== "==") (char_literal "'U'" (' "'") (character "U") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);\n      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);\n    }" ({ "{") (expression_statement "(*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);" (call_expression "(*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x37") (, ",") (identifier "iVar22") (, ",") (binary_expression "piVar26[0x1b] + 3" (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "3")) (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);" (call_expression "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x4e,uStack_c8,iVar22,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x4e") (, ",") (identifier "uStack_c8") (, ",") (identifier "iVar22") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x4e,uStack_c8,iVar6,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x4e") (, ",") (identifier "uStack_c8") (, ",") (identifier "iVar6") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);" (assignment_expression "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" (identifier "uVar7") (= "=") (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2e00" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2e00")) () ")")))) () ")")) (argument_list "(puVar18,iVar4)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);" (call_expression "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x24") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "iVar34") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x24,iVar31,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar31,iVar34,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x24,iVar31,iVar34,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x24") (, ",") (identifier "iVar31") (, ",") (identifier "iVar34") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (0 < piVar26[0x1b]) {\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }" (if "if") (parenthesized_expression "(0 < piVar26[0x1b])" (( "(") (binary_expression "0 < piVar26[0x1b]" (number_literal "0") (< "<") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) () ")")) (compound_statement "{\n      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;\n    }" ({ "{") (expression_statement "*(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;" (assignment_expression "*(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1" (pointer_expression "*(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12)" (* "*") (cast_expression "(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12)" (( "(") (binary_expression "piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12" (binary_expression "piVar26[0x1a] + piVar26[0x1b] * 0x14" (subscript_expression "piVar26[0x1a]" (identifier "piVar26") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "piVar26[0x1b] * 0x14" (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]")) (* "*") (number_literal "0x14"))) (+ "+") (number_literal "-0x12")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "(*pcVar36)(piVar26,0x24,iVar12,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar12,iVar34,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x24,iVar12,iVar34,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x24") (, ",") (identifier "iVar12") (, ",") (identifier "iVar34") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar23 = piVar26[0x1b];" (assignment_expression "iVar23 = piVar26[0x1b]" (identifier "iVar23") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (0 < iVar23) {\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }" (if "if") (parenthesized_expression "(0 < iVar23)" (( "(") (binary_expression "0 < iVar23" (number_literal "0") (< "<") (identifier "iVar23")) () ")")) (compound_statement "{\n      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;\n      iVar23 = piVar26[0x1b];\n    }" ({ "{") (expression_statement "*(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;" (assignment_expression "*(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1" (pointer_expression "*(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12)" (* "*") (cast_expression "(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar26[0x1a] + iVar23 * 0x14 + -0x12)" (( "(") (binary_expression "piVar26[0x1a] + iVar23 * 0x14 + -0x12" (binary_expression "piVar26[0x1a] + iVar23 * 0x14" (subscript_expression "piVar26[0x1a]" (identifier "piVar26") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iVar23 * 0x14" (identifier "iVar23") (* "*") (number_literal "0x14"))) (+ "+") (number_literal "-0x12")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar23 = piVar26[0x1b];" (assignment_expression "iVar23 = piVar26[0x1b]" (identifier "iVar23") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar4 + 0xe) == 'U') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }\n    else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'U')" (( "(") (binary_expression "*(char *)(iVar4 + 0xe) == 'U'" (pointer_expression "*(char *)(iVar4 + 0xe)" (* "*") (cast_expression "(char *)(iVar4 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xe)" (( "(") (binary_expression "iVar4 + 0xe" (identifier "iVar4") (+ "+") (number_literal "0xe")) () ")")))) (== "==") (char_literal "'U'" (' "'") (character "U") (' "'"))) () ")")) (compound_statement "{\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n      iVar25 = piVar26[0x1b];\n    }" ({ "{") (expression_statement "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);" (assignment_expression "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1)" (identifier "iStack_e8") (= "=") (call_expression "(*pcVar36)(piVar26,0x2f,iVar6,0,1)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x2f,iVar6,0,1)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x2f") (, ",") (identifier "iVar6") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar25 = piVar26[0x1b];" (assignment_expression "iVar25 = piVar26[0x1b]" (identifier "iVar25") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }" (else "else") (compound_statement "{\n      iStack_e8 = 0;\n      iVar25 = iVar23;\n    }" ({ "{") (expression_statement "iStack_e8 = 0;" (assignment_expression "iStack_e8 = 0" (identifier "iStack_e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar25 = iVar23;" (assignment_expression "iVar25 = iVar23" (identifier "iVar25") (= "=") (identifier "iVar23")) (; ";")) (} "}")))) (expression_statement "(*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);" (call_expression "(*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,5,iVar12,iVar25 + 2,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "5") (, ",") (identifier "iVar12") (, ",") (binary_expression "iVar25 + 2" (identifier "iVar25") (+ "+") (number_literal "2")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);" (assignment_expression "iVar25 = (*pcVar36)(piVar26,0xb,0,0,0)" (identifier "iVar25") (= "=") (call_expression "(*pcVar36)(piVar26,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0xb,0,0,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0xb") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar10 = *(int *)(pcVar33 + 0x9aee8);" (assignment_expression "iVar10 = *(int *)(pcVar33 + 0x9aee8)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")"))))) (; ";")) (expression_statement "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);" (call_expression "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(iVar10 + -0x7af4))" (( "(") (pointer_expression "*(code *)(iVar10 + -0x7af4)" (* "*") (cast_expression "(code *)(iVar10 + -0x7af4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x7af4)" (( "(") (binary_expression "iVar10 + -0x7af4" (identifier "iVar10") (+ "+") (number_literal "-0x7af4")) () ")")))) () ")")) (argument_list "(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (identifier "iVar12") (, ",") (number_literal "0") (, ",") (identifier "uVar7") (, ",") (identifier "uStack_c8") () ")"))) (; ";")) (if_statement "if (*(char *)(iVar4 + 0xe) == 'W') {\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }\n    else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'W')" (( "(") (binary_expression "*(char *)(iVar4 + 0xe) == 'W'" (pointer_expression "*(char *)(iVar4 + 0xe)" (* "*") (cast_expression "(char *)(iVar4 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xe)" (( "(") (binary_expression "iVar4 + 0xe" (identifier "iVar4") (+ "+") (number_literal "0xe")) () ")")))) (== "==") (char_literal "'W'" (' "'") (character "W") (' "'"))) () ")")) (compound_statement "{\n      (*pcVar36)(piVar26,0xb,0,iVar23,0);\n      iVar23 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n    }" ({ "{") (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar23,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar23,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0xb,0,iVar23,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0xb") (, ",") (number_literal "0") (, ",") (identifier "iVar23") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar23 = piVar26[0x1b];" (assignment_expression "iVar23 = piVar26[0x1b]" (identifier "iVar23") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (iVar25 < 0) {\n        iVar25 = iVar23 + -1;\n      }" (if "if") (parenthesized_expression "(iVar25 < 0)" (( "(") (binary_expression "iVar25 < 0" (identifier "iVar25") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar25 = iVar23 + -1;\n      }" ({ "{") (expression_statement "iVar25 = iVar23 + -1;" (assignment_expression "iVar25 = iVar23 + -1" (identifier "iVar25") (= "=") (binary_expression "iVar23 + -1" (identifier "iVar23") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" (if "if") (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" (* "*") (cast_expression "(char *)(*piVar26 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar26 + 0x51)" (( "(") (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" (* "*") (identifier "piVar26")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" ({ "{") (expression_statement "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23" (pointer_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" (* "*") (cast_expression "(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar26[0x1a] + iVar25 * 0x14 + 8)" (( "(") (binary_expression "piVar26[0x1a] + iVar25 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar25 * 0x14" (subscript_expression "piVar26[0x1a]" (identifier "piVar26") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iVar25 * 0x14" (identifier "iVar25") (* "*") (number_literal "0x14"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar23")) (; ";")) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" (identifier "cVar14") (= "=") (pointer_expression "*(char *)(iVar4 + 0xe)" (* "*") (cast_expression "(char *)(iVar4 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xe)" (( "(") (binary_expression "iVar4 + 0xe" (identifier "iVar4") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" (else "else") (compound_statement "{\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;\n        cVar14 = *(char *)(iVar4 + 0xe);\n      }" ({ "{") (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (* "*") (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9adac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9adac)" (( "(") (binary_expression "pcVar33 + 0x9adac" (identifier "pcVar33") (+ "+") (number_literal "0x9adac")) () ")")))) (+ "+") (number_literal "-0x450c")) () ")")))) (= "=") (identifier "iVar23")) (; ";")) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" (identifier "cVar14") (= "=") (pointer_expression "*(char *)(iVar4 + 0xe)" (* "*") (cast_expression "(char *)(iVar4 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xe)" (( "(") (binary_expression "iVar4 + 0xe" (identifier "iVar4") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }" (else "else") (compound_statement "{\n      iVar12 = piVar26[0x1b];\n      if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }\n      *(int *)(iVar25 + 8) = iVar12;\n      cVar14 = *(char *)(iVar4 + 0xe);\n      if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }\n    }" ({ "{") (expression_statement "iVar12 = piVar26[0x1b];" (assignment_expression "iVar12 = piVar26[0x1b]" (identifier "iVar12") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (iVar25 < 0) {\n        iVar25 = iVar12 + -1;\n      }" (if "if") (parenthesized_expression "(iVar25 < 0)" (( "(") (binary_expression "iVar25 < 0" (identifier "iVar25") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar25 = iVar12 + -1;\n      }" ({ "{") (expression_statement "iVar25 = iVar12 + -1;" (assignment_expression "iVar25 = iVar12 + -1" (identifier "iVar25") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }\n      else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }" (if "if") (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" (* "*") (cast_expression "(char *)(*piVar26 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar26 + 0x51)" (( "(") (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" (* "*") (identifier "piVar26")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        iVar25 = piVar26[0x1a] + iVar25 * 0x14;\n      }" ({ "{") (expression_statement "iVar25 = piVar26[0x1a] + iVar25 * 0x14;" (assignment_expression "iVar25 = piVar26[0x1a] + iVar25 * 0x14" (identifier "iVar25") (= "=") (binary_expression "piVar26[0x1a] + iVar25 * 0x14" (subscript_expression "piVar26[0x1a]" (identifier "piVar26") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iVar25 * 0x14" (identifier "iVar25") (* "*") (number_literal "0x14")))) (; ";")) (} "}")) (else_clause "else {\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }" (else "else") (compound_statement "{\n        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n      }" ({ "{") (expression_statement "iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;" (assignment_expression "iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514" (identifier "iVar25") (= "=") (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x4514" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9adac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9adac)" (( "(") (binary_expression "pcVar33 + 0x9adac" (identifier "pcVar33") (+ "+") (number_literal "0x9adac")) () ")")))) (+ "+") (number_literal "-0x4514"))) (; ";")) (} "}")))) (expression_statement "*(int *)(iVar25 + 8) = iVar12;" (assignment_expression "*(int *)(iVar25 + 8) = iVar12" (pointer_expression "*(int *)(iVar25 + 8)" (* "*") (cast_expression "(int *)(iVar25 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + 8)" (( "(") (binary_expression "iVar25 + 8" (identifier "iVar25") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" (identifier "cVar14") (= "=") (pointer_expression "*(char *)(iVar4 + 0xe)" (* "*") (cast_expression "(char *)(iVar4 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xe)" (( "(") (binary_expression "iVar4 + 0xe" (identifier "iVar4") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (if_statement "if (cVar14 == 'U') {\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }" (if "if") (parenthesized_expression "(cVar14 == 'U')" (( "(") (binary_expression "cVar14 == 'U'" (identifier "cVar14") (== "==") (char_literal "'U'" (' "'") (character "U") (' "'"))) () ")")) (compound_statement "{\n        iVar25 = iVar12 + -1;\n        if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n      }" ({ "{") (expression_statement "iVar25 = iVar12 + -1;" (assignment_expression "iVar25 = iVar12 + -1" (identifier "iVar25") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (-1 < iStack_e8) {\n          iVar25 = iStack_e8;\n        }" (if "if") (parenthesized_expression "(-1 < iStack_e8)" (( "(") (binary_expression "-1 < iStack_e8" (number_literal "-1") (< "<") (identifier "iStack_e8")) () ")")) (compound_statement "{\n          iVar25 = iStack_e8;\n        }" ({ "{") (expression_statement "iVar25 = iStack_e8;" (assignment_expression "iVar25 = iStack_e8" (identifier "iVar25") (= "=") (identifier "iStack_e8")) (; ";")) (} "}"))) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" (if "if") (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" (* "*") (cast_expression "(char *)(*piVar26 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar26 + 0x51)" (( "(") (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" (* "*") (identifier "piVar26")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" ({ "{") (expression_statement "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12" (pointer_expression "*(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" (* "*") (cast_expression "(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar26[0x1a] + iVar25 * 0x14 + 8)" (( "(") (binary_expression "piVar26[0x1a] + iVar25 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar25 * 0x14" (subscript_expression "piVar26[0x1a]" (identifier "piVar26") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iVar25 * 0x14" (identifier "iVar25") (* "*") (number_literal "0x14"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" (identifier "cVar14") (= "=") (pointer_expression "*(char *)(iVar4 + 0xe)" (* "*") (cast_expression "(char *)(iVar4 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xe)" (( "(") (binary_expression "iVar4 + 0xe" (identifier "iVar4") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" (else "else") (compound_statement "{\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          cVar14 = *(char *)(iVar4 + 0xe);\n        }" ({ "{") (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (* "*") (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9adac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9adac)" (( "(") (binary_expression "pcVar33 + 0x9adac" (identifier "pcVar33") (+ "+") (number_literal "0x9adac")) () ")")))) (+ "+") (number_literal "-0x450c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "cVar14 = *(char *)(iVar4 + 0xe);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xe)" (identifier "cVar14") (= "=") (pointer_expression "*(char *)(iVar4 + 0xe)" (* "*") (cast_expression "(char *)(iVar4 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xe)" (( "(") (binary_expression "iVar4 + 0xe" (identifier "iVar4") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (} "}")))) (} "}"))) (} "}")))) (if_statement "if (cVar14 == 'S') {\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }" (if "if") (parenthesized_expression "(cVar14 == 'S')" (( "(") (binary_expression "cVar14 == 'S'" (identifier "cVar14") (== "==") (char_literal "'S'" (' "'") (character "S") (' "'"))) () ")")) (compound_statement "{\n      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);\n    }" ({ "{") (expression_statement "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);" (assignment_expression "iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1)" (identifier "iStack_e8") (= "=") (call_expression "(*pcVar36)(piVar26,0x2f,iVar6,0,1)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x2f,iVar6,0,1)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x2f") (, ",") (identifier "iVar6") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar4 + 0xd) == 'S') {\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }\n    else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0xd) == 'S')" (( "(") (binary_expression "*(char *)(iVar4 + 0xd) == 'S'" (pointer_expression "*(char *)(iVar4 + 0xd)" (* "*") (cast_expression "(char *)(iVar4 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xd)" (( "(") (binary_expression "iVar4 + 0xd" (identifier "iVar4") (+ "+") (number_literal "0xd")) () ")")))) (== "==") (char_literal "'S'" (' "'") (character "S") (' "'"))) () ")")) (compound_statement "{\n      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }\n    }" ({ "{") (expression_statement "iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);" (assignment_expression "iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1)" (identifier "iVar6") (= "=") (call_expression "(*pcVar36)(piVar26,0x2f,iVar22,0,1)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x2f,iVar22,0,1)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x2f") (, ",") (identifier "iVar22") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2764")) () ")")))) () ")")) (argument_list "(puVar18,iVar4,0)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2524" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2524")) () ")")))) () ")")) (argument_list "(puVar18,iVar4,puStack_8c,iStack_88)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (identifier "puStack_8c") (, ",") (identifier "iStack_88") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "5") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "2")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar34,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0xb,0,iVar34,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0xb") (, ",") (number_literal "0") (, ",") (identifier "iVar34") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" (identifier "uVar16") (= "=") (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar4 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xd)" (( "(") (binary_expression "iVar4 + 0xd" (identifier "iVar4") (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (if_statement "if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }" (if "if") (parenthesized_expression "(uVar16 == 0x53)" (( "(") (binary_expression "uVar16 == 0x53" (identifier "uVar16") (== "==") (number_literal "0x53")) () ")")) (compound_statement "{\n        iVar12 = piVar26[0x1b];\n        if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }\n        goto LAB_000c1d20;\n      }" ({ "{") (expression_statement "iVar12 = piVar26[0x1b];" (assignment_expression "iVar12 = piVar26[0x1b]" (identifier "iVar12") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (iVar6 < 0) {\n          iVar6 = iVar12 + -1;\n        }" (if "if") (parenthesized_expression "(iVar6 < 0)" (( "(") (binary_expression "iVar6 < 0" (identifier "iVar6") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          iVar6 = iVar12 + -1;\n        }" ({ "{") (expression_statement "iVar6 = iVar12 + -1;" (assignment_expression "iVar6 = iVar12 + -1" (identifier "iVar6") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000c1d20;" (goto "goto") (statement_identifier "LAB_000c1d20") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }" (else "else") (compound_statement "{\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);\n      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);\n      (*pcVar36)(piVar26,0xb,0,iVar34,0);\n      uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n      if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }\n    }" ({ "{") (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2764")) () ")")))) () ")")) (argument_list "(puVar18,iVar4,0)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2524)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2524" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2524")) () ")")))) () ")")) (argument_list "(puVar18,iVar4,puStack_8c,iStack_88)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (identifier "puStack_8c") (, ",") (identifier "iStack_88") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "5") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "2")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar34,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar34,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0xb,0,iVar34,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0xb") (, ",") (number_literal "0") (, ",") (identifier "iVar34") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" (identifier "uVar16") (= "=") (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar4 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xd)" (( "(") (binary_expression "iVar4 + 0xd" (identifier "iVar4") (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (if_statement "if (uVar16 == 0x53) {\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }" (if "if") (parenthesized_expression "(uVar16 == 0x53)" (( "(") (binary_expression "uVar16 == 0x53" (identifier "uVar16") (== "==") (number_literal "0x53")) () ")")) (compound_statement "{\n        iVar12 = piVar26[0x1b];\n        iVar6 = 0;\nLAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n      }" ({ "{") (expression_statement "iVar12 = piVar26[0x1b];" (assignment_expression "iVar12 = piVar26[0x1b]" (identifier "iVar12") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000c1d20:\n        if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" (statement_identifier "LAB_000c1d20") (: ":") (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }\n        else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" (if "if") (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" (* "*") (cast_expression "(char *)(*piVar26 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar26 + 0x51)" (( "(") (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" (* "*") (identifier "piVar26")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" ({ "{") (expression_statement "*(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12" (pointer_expression "*(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8)" (* "*") (cast_expression "(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar26[0x1a] + iVar6 * 0x14 + 8)" (( "(") (binary_expression "piVar26[0x1a] + iVar6 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar6 * 0x14" (subscript_expression "piVar26[0x1a]" (identifier "piVar26") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iVar6 * 0x14" (identifier "iVar6") (* "*") (number_literal "0x14"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" (identifier "uVar16") (= "=") (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar4 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xd)" (( "(") (binary_expression "iVar4 + 0xd" (identifier "iVar4") (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" (else "else") (compound_statement "{\n          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;\n          uVar16 = (uint)*(byte *)(iVar4 + 0xd);\n        }" ({ "{") (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (* "*") (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9adac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9adac)" (( "(") (binary_expression "pcVar33 + 0x9adac" (identifier "pcVar33") (+ "+") (number_literal "0x9adac")) () ")")))) (+ "+") (number_literal "-0x450c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "uVar16 = (uint)*(byte *)(iVar4 + 0xd);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar4 + 0xd)" (identifier "uVar16") (= "=") (binary_expression "(uint)*(byte *)(iVar4 + 0xd)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar4 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xd)" (( "(") (binary_expression "iVar4 + 0xd" (identifier "iVar4") (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (} "}"))))) (} "}"))) (} "}")))) (if_statement "if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }" (if "if") (parenthesized_expression "((uVar16 - 0x52 < 2) || (uVar16 == 0x55))" (( "(") (binary_expression "(uVar16 - 0x52 < 2) || (uVar16 == 0x55)" (parenthesized_expression "(uVar16 - 0x52 < 2)" (( "(") (binary_expression "uVar16 - 0x52 < 2" (binary_expression "uVar16 - 0x52" (identifier "uVar16") (- "-") (number_literal "0x52")) (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(uVar16 == 0x55)" (( "(") (binary_expression "uVar16 == 0x55" (identifier "uVar16") (== "==") (number_literal "0x55")) () ")"))) () ")")) (compound_statement "{\n      iVar6 = *(int *)(puVar18 + 0x38) + -1;\n      *(int *)(puVar18 + 0x38) = iVar6;\n      cVar14 = *(char *)(iVar4 + 0xd);\n      if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }\n      if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }\n      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);\n      (*pcVar35)(piVar26,iVar6);\n    }" ({ "{") (expression_statement "iVar6 = *(int *)(puVar18 + 0x38) + -1;" (assignment_expression "iVar6 = *(int *)(puVar18 + 0x38) + -1" (identifier "iVar6") (= "=") (binary_expression "*(int *)(puVar18 + 0x38) + -1" (pointer_expression "*(int *)(puVar18 + 0x38)" (* "*") (cast_expression "(int *)(puVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(int *)(puVar18 + 0x38) = iVar6;" (assignment_expression "*(int *)(puVar18 + 0x38) = iVar6" (pointer_expression "*(int *)(puVar18 + 0x38)" (* "*") (cast_expression "(int *)(puVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "cVar14 = *(char *)(iVar4 + 0xd);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xd)" (identifier "cVar14") (= "=") (pointer_expression "*(char *)(iVar4 + 0xd)" (* "*") (cast_expression "(char *)(iVar4 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xd)" (( "(") (binary_expression "iVar4 + 0xd" (identifier "iVar4") (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (if_statement "if (cVar14 == 'U') {\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }" (if "if") (parenthesized_expression "(cVar14 == 'U')" (( "(") (binary_expression "cVar14 == 'U'" (identifier "cVar14") (== "==") (char_literal "'U'" (' "'") (character "U") (' "'"))) () ")")) (compound_statement "{\n        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);\n        cVar14 = *(char *)(iVar4 + 0xd);\n      }" ({ "{") (expression_statement "(*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);" (call_expression "(*pcVar36)(piVar26,0x2f,iVar22,iVar6,1)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x2f,iVar22,iVar6,1)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x2f") (, ",") (identifier "iVar22") (, ",") (identifier "iVar6") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "cVar14 = *(char *)(iVar4 + 0xd);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xd)" (identifier "cVar14") (= "=") (pointer_expression "*(char *)(iVar4 + 0xd)" (* "*") (cast_expression "(char *)(iVar4 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xd)" (( "(") (binary_expression "iVar4 + 0xd" (identifier "iVar4") (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (cVar14 == 'S') {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }\n      else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }" (if "if") (parenthesized_expression "(cVar14 == 'S')" (( "(") (binary_expression "cVar14 == 'S'" (identifier "cVar14") (== "==") (char_literal "'S'" (' "'") (character "S") (' "'"))) () ")")) (compound_statement "{\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);\n        (*pcVar36)(piVar26,0xb,0,iVar6,0);\n      }" ({ "{") (expression_statement "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,5,iVar31,piVar26[0x1b] + 2,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "5") (, ",") (identifier "iVar31") (, ",") (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "2")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar6,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0xb,0,iVar6,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0xb") (, ",") (number_literal "0") (, ",") (identifier "iVar6") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }" (else "else") (compound_statement "{\n        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);\n      }" ({ "{") (expression_statement "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);" (call_expression "(*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,5,iVar31,piVar26[0x1b] + 1,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "5") (, ",") (identifier "iVar31") (, ",") (binary_expression "piVar26[0x1b] + 1" (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "1")) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);" (call_expression "(*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(iVar10 + -0x7af4))" (( "(") (pointer_expression "*(code *)(iVar10 + -0x7af4)" (* "*") (cast_expression "(code *)(iVar10 + -0x7af4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x7af4)" (( "(") (binary_expression "iVar10 + -0x7af4" (identifier "iVar10") (+ "+") (number_literal "-0x7af4")) () ")")))) () ")")) (argument_list "(puVar18,iVar4,iVar31,1,uVar7,uStack_c8)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (identifier "iVar31") (, ",") (number_literal "1") (, ",") (identifier "uVar7") (, ",") (identifier "uStack_c8") () ")"))) (; ";")) (expression_statement "(*pcVar35)(piVar26,iVar6);" (call_expression "(*pcVar35)(piVar26,iVar6)" (parenthesized_expression "(*pcVar35)" (( "(") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) () ")")) (argument_list "(piVar26,iVar6)" (( "(") (identifier "piVar26") (, ",") (identifier "iVar6") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar4 + 0xe) == 'S') {\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'S')" (( "(") (binary_expression "*(char *)(iVar4 + 0xe) == 'S'" (pointer_expression "*(char *)(iVar4 + 0xe)" (* "*") (cast_expression "(char *)(iVar4 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xe)" (( "(") (binary_expression "iVar4 + 0xe" (identifier "iVar4") (+ "+") (number_literal "0xe")) () ")")))) (== "==") (char_literal "'S'" (' "'") (character "S") (' "'"))) () ")")) (compound_statement "{\n      iVar22 = piVar26[0x1b];\n      if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }\n      if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }\n    }" ({ "{") (expression_statement "iVar22 = piVar26[0x1b];" (assignment_expression "iVar22 = piVar26[0x1b]" (identifier "iVar22") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (iStack_e8 < 0) {\n        iStack_e8 = iVar22 + -1;\n      }" (if "if") (parenthesized_expression "(iStack_e8 < 0)" (( "(") (binary_expression "iStack_e8 < 0" (identifier "iStack_e8") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iStack_e8 = iVar22 + -1;\n      }" ({ "{") (expression_statement "iStack_e8 = iVar22 + -1;" (assignment_expression "iStack_e8 = iVar22 + -1" (identifier "iStack_e8") (= "=") (binary_expression "iVar22 + -1" (identifier "iVar22") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }\n      else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }" (if "if") (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" (* "*") (cast_expression "(char *)(*piVar26 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar26 + 0x51)" (( "(") (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" (* "*") (identifier "piVar26")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;\n      }" ({ "{") (expression_statement "*(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;" (assignment_expression "*(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22" (pointer_expression "*(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8)" (* "*") (cast_expression "(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar26[0x1a] + iStack_e8 * 0x14 + 8)" (( "(") (binary_expression "piVar26[0x1a] + iStack_e8 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iStack_e8 * 0x14" (subscript_expression "piVar26[0x1a]" (identifier "piVar26") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iStack_e8 * 0x14" (identifier "iStack_e8") (* "*") (number_literal "0x14"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar22")) (; ";")) (} "}")) (else_clause "else {\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }" (else "else") (compound_statement "{\n        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n      }" ({ "{") (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (* "*") (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9adac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9adac)" (( "(") (binary_expression "pcVar33 + 0x9adac" (identifier "pcVar33") (+ "+") (number_literal "0x9adac")) () ")")))) (+ "+") (number_literal "-0x450c")) () ")")))) (= "=") (identifier "iVar22")) (; ";")) (} "}")))) (} "}"))) (expression_statement "(*pcVar36)(piVar26,0xb,0,iVar23,0);" (call_expression "(*pcVar36)(piVar26,0xb,0,iVar23,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0xb,0,iVar23,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0xb") (, ",") (number_literal "0") (, ",") (identifier "iVar23") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar35)(piVar26,iVar34);" (call_expression "(*pcVar35)(piVar26,iVar34)" (parenthesized_expression "(*pcVar35)" (( "(") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) () ")")) (argument_list "(piVar26,iVar34)" (( "(") (identifier "piVar26") (, ",") (identifier "iVar34") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);" (call_expression "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x8a") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" (else "else") (compound_statement "{\n    iVar22 = *(int *)(pcVar33 + 0x9ae68);\n    if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }\nLAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);\n    if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }\n    iVar22 = *(int *)(puVar18 + 0x2c);\n    iVar12 = *(int *)(puVar18 + 0x28);\n    iVar34 = *(int *)(pcVar33 + 0x9aee8);\n    iVar6 = *(int *)(puVar18 + 0x38);\n    iVar28 = iVar22 + iStack_f0;\n    iVar23 = iVar28 + 2;\n    iVar31 = iVar6 + -2;\n    *(int *)(puVar18 + 0x28) = iVar12 + 1;\n    iVar28 = iVar28 + 1;\n    *(int *)(puVar18 + 0x38) = iVar31;\n    *(int *)(puVar18 + 0x2c) = iVar23;\n    iVar6 = iVar6 + -1;\n    (*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);\n    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);\n    iVar34 = *(int *)(pcVar33 + 0x9aee4);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);\n    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);\n    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);\n    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);\n    (*pcVar36)(piVar26,0x46,0,iVar23,0);\n    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);\n    if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }\nLAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);\n    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);\n    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);\n    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n  }" ({ "{") (expression_statement "iVar22 = *(int *)(pcVar33 + 0x9ae68);" (assignment_expression "iVar22 = *(int *)(pcVar33 + 0x9ae68)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9ae68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9ae68)" (( "(") (binary_expression "pcVar33 + 0x9ae68" (identifier "pcVar33") (+ "+") (number_literal "0x9ae68")) () ")"))))) (; ";")) (if_statement "if (uVar16 != 0x525700) {\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }" (if "if") (parenthesized_expression "(uVar16 != 0x525700)" (( "(") (binary_expression "uVar16 != 0x525700" (identifier "uVar16") (!= "!=") (number_literal "0x525700")) () ")")) (compound_statement "{\nLAB_000c08b4:\n      iVar28 = iVar4;\n      do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);\n      piVar27 = *(int **)(puVar18 + 8);\n      if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }\n      piVar26 = *(int **)(iVar4 + 4);\n      iVar6 = *(int *)(puVar18 + 0x2c) + 1;\n      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);\n      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);\n      iVar22 = iVar31 + iVar6;\n      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);\n      if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }\nLAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);\n      if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }\n      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);\n      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);\n      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);\n      (*pcVar35)(puVar18,iVar4,1);\n      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);\n      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n      iVar22 = 5;\n      iVar28 = *(int *)(iVar4 + 0x24);\n      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);\n      goto LAB_000c0f44;\n    }" ({ "{") (labeled_statement "LAB_000c08b4:\n      iVar28 = iVar4;" (statement_identifier "LAB_000c08b4") (: ":") (expression_statement "iVar28 = iVar4;" (assignment_expression "iVar28 = iVar4" (identifier "iVar28") (= "=") (identifier "iVar4")) (; ";"))) (do_statement "do {\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      } while (iVar28 != 0);" (do "do") (compound_statement "{\n        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;\n        iVar28 = *(int *)(iVar28 + 0x18);\n      }" ({ "{") (if_statement "if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;" (if "if") (parenthesized_expression "(((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c))))" (( "(") (binary_expression "((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||\n           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))" (parenthesized_expression "((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00))" (( "(") (binary_expression "(((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)" (parenthesized_expression "(((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4))" (( "(") (binary_expression "((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||\n             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)" (parenthesized_expression "((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0" (parenthesized_expression "(*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000)" (( "(") (binary_expression "*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000" (pointer_expression "*(uint *)(*(int *)(iVar28 + 0x20) + 4)" (* "*") (cast_expression "(uint *)(*(int *)(iVar28 + 0x20) + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar28 + 0x20) + 4)" (( "(") (binary_expression "*(int *)(iVar28 + 0x20) + 4" (pointer_expression "*(int *)(iVar28 + 0x20)" (* "*") (cast_expression "(int *)(iVar28 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x20)" (( "(") (binary_expression "iVar28 + 0x20" (identifier "iVar28") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0x20000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)" (( "(") (comma_expression "iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4" (assignment_expression "iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(*(int *)(iVar28 + 0x20) + 0x20)" (* "*") (cast_expression "(int *)(*(int *)(iVar28 + 0x20) + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar28 + 0x20) + 0x20)" (( "(") (binary_expression "*(int *)(iVar28 + 0x20) + 0x20" (pointer_expression "*(int *)(iVar28 + 0x20)" (* "*") (cast_expression "(int *)(iVar28 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x20)" (( "(") (binary_expression "iVar28 + 0x20" (identifier "iVar28") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0x20")) () ")"))))) (, ",") (binary_expression "iVar6 == iVar22 + -0x7df4" (identifier "iVar6") (== "==") (binary_expression "iVar22 + -0x7df4" (identifier "iVar22") (+ "+") (number_literal "-0x7df4")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)" (( "(") (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00" (identifier "iVar6") (== "==") (binary_expression "*(int *)(pcVar33 + 0x9ae68) + -0x7e00" (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9ae68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9ae68)" (( "(") (binary_expression "pcVar33 + 0x9ae68" (identifier "pcVar33") (+ "+") (number_literal "0x9ae68")) () ")")))) (+ "+") (number_literal "-0x7e00"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))" (( "(") (parenthesized_expression "(iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c))" (( "(") (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||\n            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)" (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08" (identifier "iVar6") (== "==") (binary_expression "*(int *)(pcVar33 + 0x9ae68) + -0x7e08" (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9ae68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9ae68)" (( "(") (binary_expression "pcVar33 + 0x9ae68" (identifier "pcVar33") (+ "+") (number_literal "0x9ae68")) () ")")))) (+ "+") (number_literal "-0x7e08"))) (|| "||") (parenthesized_expression "(iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)" (( "(") (binary_expression "iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c" (identifier "iVar6") (== "==") (binary_expression "*(int *)(pcVar33 + 0x9ae68) + -0x7e0c" (pointer_expression "*(int *)(pcVar33 + 0x9ae68)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9ae68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9ae68)" (( "(") (binary_expression "pcVar33 + 0x9ae68" (identifier "pcVar33") (+ "+") (number_literal "0x9ae68")) () ")")))) (+ "+") (number_literal "-0x7e0c"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000c0c60;" (goto "goto") (statement_identifier "LAB_000c0c60") (; ";"))) (expression_statement "iVar28 = *(int *)(iVar28 + 0x18);" (assignment_expression "iVar28 = *(int *)(iVar28 + 0x18)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar28 + 0x18)" (* "*") (cast_expression "(int *)(iVar28 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x18)" (( "(") (binary_expression "iVar28 + 0x18" (identifier "iVar28") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar28 != 0)" (( "(") (binary_expression "iVar28 != 0" (identifier "iVar28") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "piVar27 = *(int **)(puVar18 + 8);" (assignment_expression "piVar27 = *(int **)(puVar18 + 8)" (identifier "piVar27") (= "=") (pointer_expression "*(int **)(puVar18 + 8)" (* "*") (cast_expression "(int **)(puVar18 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (piVar27 == (int *)0x0) {\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }" (if "if") (parenthesized_expression "(piVar27 == (int *)0x0)" (( "(") (binary_expression "piVar27 == (int *)0x0" (identifier "piVar27") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      }" ({ "{") (expression_statement "piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);" (assignment_expression "piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (identifier "piVar27") (= "=") (cast_expression "(int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x371c" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x371c")) () ")")))) () ")")) (argument_list "(puVar18)" (( "(") (identifier "puVar18") () ")"))))) (; ";")) (} "}"))) (expression_statement "piVar26 = *(int **)(iVar4 + 4);" (assignment_expression "piVar26 = *(int **)(iVar4 + 4)" (identifier "piVar26") (= "=") (pointer_expression "*(int **)(iVar4 + 4)" (* "*") (cast_expression "(int **)(iVar4 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(puVar18 + 0x2c) + 1;" (assignment_expression "iVar6 = *(int *)(puVar18 + 0x2c) + 1" (identifier "iVar6") (= "=") (binary_expression "*(int *)(puVar18 + 0x2c) + 1" (pointer_expression "*(int *)(puVar18 + 0x2c)" (* "*") (cast_expression "(int *)(puVar18 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x2c)" (( "(") (binary_expression "puVar18 + 0x2c" (identifier "puVar18") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);" (assignment_expression "uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + 0x20) + 0x30)" (( "(") (binary_expression "*(int *)(puVar21 + 0x20) + 0x30" (pointer_expression "*(int *)(puVar21 + 0x20)" (* "*") (cast_expression "(int *)(puVar21 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x20)" (( "(") (binary_expression "puVar21 + 0x20" (identifier "puVar21") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);" (assignment_expression "iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" (identifier "iVar31") (= "=") (cast_expression "(int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" (* "*") (cast_expression "(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a)" (( "(") (binary_expression "*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a" (pointer_expression "*(int *)(*(int *)(puVar21 + 0x20) + 0x18)" (* "*") (cast_expression "(int *)(*(int *)(puVar21 + 0x20) + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + 0x20) + 0x18)" (( "(") (binary_expression "*(int *)(puVar21 + 0x20) + 0x18" (pointer_expression "*(int *)(puVar21 + 0x20)" (* "*") (cast_expression "(int *)(puVar21 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x20)" (( "(") (binary_expression "puVar21 + 0x20" (identifier "puVar21") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "0x2a")) () ")")))))) (; ";")) (expression_statement "iVar22 = iVar31 + iVar6;" (assignment_expression "iVar22 = iVar31 + iVar6" (identifier "iVar22") (= "=") (binary_expression "iVar31 + iVar6" (identifier "iVar31") (+ "+") (identifier "iVar6"))) (; ";")) (expression_statement "iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);" (assignment_expression "iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c)" (identifier "iVar28") (= "=") (binary_expression "iVar31 + 2 + *(int *)(puVar18 + 0x2c)" (binary_expression "iVar31 + 2" (identifier "iVar31") (+ "+") (number_literal "2")) (+ "+") (pointer_expression "*(int *)(puVar18 + 0x2c)" (* "*") (cast_expression "(int *)(puVar18 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x2c)" (( "(") (binary_expression "puVar18 + 0x2c" (identifier "puVar18") (+ "+") (number_literal "0x2c")) () ")")))))) (; ";")) (if_statement "if (*(char *)(iVar4 + 0xe) == 'W') {\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }\n      else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'W')" (( "(") (binary_expression "*(char *)(iVar4 + 0xe) == 'W'" (pointer_expression "*(char *)(iVar4 + 0xe)" (* "*") (cast_expression "(char *)(iVar4 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xe)" (( "(") (binary_expression "iVar4 + 0xe" (identifier "iVar4") (+ "+") (number_literal "0xe")) () ")")))) (== "==") (char_literal "'W'" (' "'") (character "W") (' "'"))) () ")")) (compound_statement "{\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        piVar29 = (int *)0x0;\n        if (0 < iVar31) goto LAB_000c0980;\n        if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }\n        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n      }" ({ "{") (expression_statement "*(int *)(puVar18 + 0x2c) = iVar28;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar28" (pointer_expression "*(int *)(puVar18 + 0x2c)" (* "*") (cast_expression "(int *)(puVar18 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x2c)" (( "(") (binary_expression "puVar18 + 0x2c" (identifier "puVar18") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "iVar28")) (; ";")) (expression_statement "piVar29 = (int *)0x0;" (assignment_expression "piVar29 = (int *)0x0" (identifier "piVar29") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0 < iVar31) goto LAB_000c0980;" (if "if") (parenthesized_expression "(0 < iVar31)" (( "(") (binary_expression "0 < iVar31" (number_literal "0") (< "<") (identifier "iVar31")) () ")")) (goto_statement "goto LAB_000c0980;" (goto "goto") (statement_identifier "LAB_000c0980") (; ";"))) (if_statement "if (piVar26 != (int *)0x0) {\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }" (if "if") (parenthesized_expression "(piVar26 != (int *)0x0)" (( "(") (binary_expression "piVar26 != (int *)0x0" (identifier "piVar26") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iStack_e8 = *piVar26;\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          goto LAB_000c09d4;\n        }" ({ "{") (expression_statement "iStack_e8 = *piVar26;" (assignment_expression "iStack_e8 = *piVar26" (identifier "iStack_e8") (= "=") (pointer_expression "*piVar26" (* "*") (identifier "piVar26"))) (; ";")) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (identifier "pcVar36") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x3890")) () ")")))) (; ";")) (goto_statement "goto LAB_000c09d4;" (goto "goto") (statement_identifier "LAB_000c09d4") (; ";")) (} "}"))) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (identifier "pcVar36") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x3890")) () ")")))) (; ";")) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2764")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        piVar29 = *(int **)(iVar4 + 8);\n        *(int *)(puVar18 + 0x2c) = iVar28;\n        if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }\n        if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }\n        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);\n        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);\n        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);\n        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);\n        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);\n        if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }\n      }" ({ "{") (expression_statement "piVar29 = *(int **)(iVar4 + 8);" (assignment_expression "piVar29 = *(int **)(iVar4 + 8)" (identifier "piVar29") (= "=") (pointer_expression "*(int **)(iVar4 + 8)" (* "*") (cast_expression "(int **)(iVar4 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar18 + 0x2c) = iVar28;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar28" (pointer_expression "*(int *)(puVar18 + 0x2c)" (* "*") (cast_expression "(int *)(puVar18 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x2c)" (( "(") (binary_expression "puVar18 + 0x2c" (identifier "puVar18") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "iVar28")) (; ";")) (if_statement "if (iVar31 < 1) {\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }\n        else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }" (if "if") (parenthesized_expression "(iVar31 < 1)" (( "(") (binary_expression "iVar31 < 1" (identifier "iVar31") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n        }" ({ "{") (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (identifier "pcVar36") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x3890")) () ")")))) (; ";")) (} "}")) (else_clause "else {\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }" (else "else") (compound_statement "{\nLAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);\n          iVar28 = 0;\n          do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);\n        }" ({ "{") (labeled_statement "LAB_000c0980:\n          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (statement_identifier "LAB_000c0980") (: ":") (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (identifier "pcVar36") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x3890")) () ")")))) (; ";"))) (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" (identifier "iVar28") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          } while (iVar34 < iVar31);" (do "do") (compound_statement "{\n            iVar34 = iVar28 + 1;\n            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);\n            iVar28 = iVar34;\n          }" ({ "{") (expression_statement "iVar34 = iVar28 + 1;" (assignment_expression "iVar34 = iVar28 + 1" (identifier "iVar34") (= "=") (binary_expression "iVar28 + 1" (identifier "iVar28") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);" (call_expression "(*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x5a") (, ",") (identifier "uVar7") (, ",") (identifier "iVar28") (, ",") (binary_expression "iVar6 + iVar28" (identifier "iVar6") (+ "+") (identifier "iVar28")) () ")"))) (; ";")) (expression_statement "iVar28 = iVar34;" (assignment_expression "iVar28 = iVar34" (identifier "iVar28") (= "=") (identifier "iVar34")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar34 < iVar31)" (( "(") (binary_expression "iVar34 < iVar31" (identifier "iVar34") (< "<") (identifier "iVar31")) () ")")) (; ";")) (} "}")))) (if_statement "if (piVar26 == (int *)0x0) {\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }\n        else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }" (if "if") (parenthesized_expression "(piVar26 == (int *)0x0)" (( "(") (binary_expression "piVar26 == (int *)0x0" (identifier "piVar26") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }\n          iVar28 = *piVar29;\n          iStack_f8 = iVar28;\n          if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }\n          iVar28 = 0;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n          iVar31 = piVar27[0x1b];\n        }" ({ "{") (if_statement "if (piVar29 == (int *)0x0) {\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }" (if "if") (parenthesized_expression "(piVar29 == (int *)0x0)" (( "(") (binary_expression "piVar29 == (int *)0x0" (identifier "piVar29") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            goto LAB_000c0b50;\n          }" ({ "{") (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2764")) () ")")))) (; ";")) (goto_statement "goto LAB_000c0b50;" (goto "goto") (statement_identifier "LAB_000c0b50") (; ";")) (} "}"))) (expression_statement "iVar28 = *piVar29;" (assignment_expression "iVar28 = *piVar29" (identifier "iVar28") (= "=") (pointer_expression "*piVar29" (* "*") (identifier "piVar29"))) (; ";")) (expression_statement "iStack_f8 = iVar28;" (assignment_expression "iStack_f8 = iVar28" (identifier "iStack_f8") (= "=") (identifier "iVar28")) (; ";")) (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') {\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" (( "(") (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" (* "*") (cast_expression "(char *)(iVar4 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'V'" (' "'") (character "V") (' "'"))) () ")")) (compound_statement "{\n            iVar31 = 0;\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            goto LAB_000c1e74;\n          }" ({ "{") (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" (identifier "iVar31") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);" (assignment_expression "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (identifier "pcStack_e4") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7fc4")) () ")")))) (; ";")) (expression_statement "iVar34 = *(int *)(iVar4 + 0x38);" (assignment_expression "iVar34 = *(int *)(iVar4 + 0x38)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);" (assignment_expression "iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40)" (identifier "iStack_e8") (= "=") (binary_expression "iVar6 + *(int *)(iVar4 + 0x40)" (identifier "iVar6") (+ "+") (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2764")) () ")")))) (; ";")) (expression_statement "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);" (assignment_expression "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (identifier "pcStack_f4") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9ae94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9ae94)" (( "(") (binary_expression "pcVar33 + 0x9ae94" (identifier "pcVar33") (+ "+") (number_literal "0x9ae94")) () ")")))) (+ "+") (number_literal "-0x5958")) () ")")))) (; ";")) (goto_statement "goto LAB_000c1e74;" (goto "goto") (statement_identifier "LAB_000c1e74") (; ";")) (} "}"))) (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" (identifier "iVar28") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2764")) () ")")))) (; ";")) (expression_statement "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');" (call_expression "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" (parenthesized_expression "(*pcVar35)" (( "(") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) () ")")) (argument_list "(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (binary_expression "*(char *)(iVar4 + 0xd) == 'R'" (pointer_expression "*(char *)(iVar4 + 0xd)" (* "*") (cast_expression "(char *)(iVar4 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xd)" (( "(") (binary_expression "iVar4 + 0xd" (identifier "iVar4") (+ "+") (number_literal "0xd")) () ")")))) (== "==") (char_literal "'R'" (' "'") (character "R") (' "'"))) () ")"))) (; ";")) (expression_statement "iVar31 = piVar27[0x1b];" (assignment_expression "iVar31 = piVar27[0x1b]" (identifier "iVar31") (= "=") (subscript_expression "piVar27[0x1b]" (identifier "piVar27") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }" (else "else") (compound_statement "{\n          iStack_e8 = *piVar26;\n          if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }\n          iVar31 = piVar27[0x1b];\n        }" ({ "{") (expression_statement "iStack_e8 = *piVar26;" (assignment_expression "iStack_e8 = *piVar26" (identifier "iStack_e8") (= "=") (pointer_expression "*piVar26" (* "*") (identifier "piVar26"))) (; ";")) (if_statement "if (piVar29 == (int *)0x0) {\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }\n          else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(piVar29 == (int *)0x0)" (( "(") (binary_expression "piVar29 == (int *)0x0" (identifier "piVar29") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);\n            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);\n            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);\n            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iStack_f8 = iStack_e8;\n          }" ({ "{") (labeled_statement "LAB_000c09d4:\n            iVar28 = *(int *)(iVar4 + 0x40);" (statement_identifier "LAB_000c09d4") (: ":") (expression_statement "iVar28 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar28 = *(int *)(iVar4 + 0x40)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")"))))) (; ";"))) (expression_statement "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);" (assignment_expression "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0)" (identifier "uVar7") (= "=") (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7fc4")) () ")")))) () ")")) (argument_list "(puVar18,piVar26,0,0)" (( "(") (identifier "puVar18") (, ",") (identifier "piVar26") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" (identifier "iVar28") (= "=") (call_expression "(*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x57") (, ",") (binary_expression "iVar6 + iVar28" (identifier "iVar6") (+ "+") (identifier "iVar28")) (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (, ",") (identifier "iStack_e8") () ")")))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9ae94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9ae94)" (( "(") (binary_expression "pcVar33 + 0x9ae94" (identifier "pcVar33") (+ "+") (number_literal "0x9ae94")) () ")")))) (+ "+") (number_literal "-0x5958")) () ")")))) () ")")) (argument_list "(piVar27,uVar7,0xfffffff7)" (( "(") (identifier "piVar27") (, ",") (identifier "uVar7") (, ",") (number_literal "0xfffffff7") () ")"))) (; ";")) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" (identifier "iVar28") (= "=") (call_expression "(*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x10") (, ",") (binary_expression "iVar28 + 2" (identifier "iVar28") (+ "+") (number_literal "2")) (, ",") (number_literal "0") (, ",") (binary_expression "iVar28 + 2" (identifier "iVar28") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2764")) () ")")))) (; ";")) (expression_statement "(*pcVar35)(puVar18,iVar4,1);" (call_expression "(*pcVar35)(puVar18,iVar4,1)" (parenthesized_expression "(*pcVar35)" (( "(") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) () ")")) (argument_list "(puVar18,iVar4,1)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "iStack_f8 = iStack_e8;" (assignment_expression "iStack_f8 = iStack_e8" (identifier "iStack_f8") (= "=") (identifier "iStack_e8")) (; ";")) (} "}")) (else_clause "else {\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }" (else "else") (compound_statement "{\n            iVar31 = *(int *)(iVar4 + 0x40);\n            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);\n            iVar28 = *piVar29;\n            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);\n            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;\n            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);\n            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);\n            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);\n            (*pcVar35)(puVar18,iVar4,1);\n            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);\n            iVar23 = *(int *)(iVar4 + 0x40);\n            iVar34 = *(int *)(iVar4 + 0x38);\n            if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }\n            iStack_f8 = iStack_e8 + iVar28;\n            if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }\n            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');\n            if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }\n          }" ({ "{") (expression_statement "iVar31 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar31 = *(int *)(iVar4 + 0x40)" (identifier "iVar31") (= "=") (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);" (assignment_expression "pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (identifier "pcStack_e4") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7fc4")) () ")")))) (; ";")) (expression_statement "iVar28 = *piVar29;" (assignment_expression "iVar28 = *piVar29" (identifier "iVar28") (= "=") (pointer_expression "*piVar29" (* "*") (identifier "piVar29"))) (; ";")) (expression_statement "uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);" (assignment_expression "uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0)" (identifier "uVar7") (= "=") (call_expression "(*pcStack_e4)(puVar18,piVar26,0,0)" (parenthesized_expression "(*pcStack_e4)" (( "(") (pointer_expression "*pcStack_e4" (* "*") (identifier "pcStack_e4")) () ")")) (argument_list "(puVar18,piVar26,0,0)" (( "(") (identifier "puVar18") (, ",") (identifier "piVar26") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)\n            ;" (assignment_expression "iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" (identifier "iVar31") (= "=") (call_expression "(*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x57") (, ",") (binary_expression "iVar6 + iVar31" (identifier "iVar6") (+ "+") (identifier "iVar31")) (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (, ",") (identifier "iStack_e8") () ")")))) (; ";")) (expression_statement "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);" (assignment_expression "pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (identifier "pcStack_f4") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9ae94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9ae94)" (( "(") (binary_expression "pcVar33 + 0x9ae94" (identifier "pcVar33") (+ "+") (number_literal "0x9ae94")) () ")")))) (+ "+") (number_literal "-0x5958")) () ")")))) (; ";")) (expression_statement "(*pcStack_f4)(piVar27,uVar7,0xfffffff7);" (call_expression "(*pcStack_f4)(piVar27,uVar7,0xfffffff7)" (parenthesized_expression "(*pcStack_f4)" (( "(") (pointer_expression "*pcStack_f4" (* "*") (identifier "pcStack_f4")) () ")")) (argument_list "(piVar27,uVar7,0xfffffff7)" (( "(") (identifier "piVar27") (, ",") (identifier "uVar7") (, ",") (number_literal "0xfffffff7") () ")"))) (; ";")) (expression_statement "iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);" (assignment_expression "iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2)" (identifier "iVar12") (= "=") (call_expression "(*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x10,iVar31 + 2,0,iVar31 + 2)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x10") (, ",") (binary_expression "iVar31 + 2" (identifier "iVar31") (+ "+") (number_literal "2")) (, ",") (number_literal "0") (, ",") (binary_expression "iVar31 + 2" (identifier "iVar31") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2764)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2764" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2764")) () ")")))) (; ";")) (expression_statement "(*pcVar35)(puVar18,iVar4,1);" (call_expression "(*pcVar35)(puVar18,iVar4,1)" (parenthesized_expression "(*pcVar35)" (( "(") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) () ")")) (argument_list "(puVar18,iVar4,1)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);" (assignment_expression "iVar31 = (*pcVar36)(piVar27,0xb,0,0,0)" (identifier "iVar31") (= "=") (call_expression "(*pcVar36)(piVar27,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0xb,0,0,0)" (( "(") (identifier "piVar27") (, ",") (number_literal "0xb") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar23 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar23 = *(int *)(iVar4 + 0x40)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "iVar34 = *(int *)(iVar4 + 0x38);" (assignment_expression "iVar34 = *(int *)(iVar4 + 0x38)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if (iVar12 != 0) {\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar25 = piVar27[0x1b];\n              if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }\n            }" ({ "{") (expression_statement "iVar25 = piVar27[0x1b];" (assignment_expression "iVar25 = piVar27[0x1b]" (identifier "iVar25") (= "=") (subscript_expression "piVar27[0x1b]" (identifier "piVar27") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (iVar12 < 0) {\n                iVar12 = iVar25 + -1;\n              }" (if "if") (parenthesized_expression "(iVar12 < 0)" (( "(") (binary_expression "iVar12 < 0" (identifier "iVar12") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                iVar12 = iVar25 + -1;\n              }" ({ "{") (expression_statement "iVar12 = iVar25 + -1;" (assignment_expression "iVar12 = iVar25 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar25 + -1" (identifier "iVar25") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }" (if "if") (parenthesized_expression "(*(char *)(*piVar27 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*piVar27 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar27 + 0x51)" (* "*") (cast_expression "(char *)(*piVar27 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar27 + 0x51)" (( "(") (binary_expression "*piVar27 + 0x51" (pointer_expression "*piVar27" (* "*") (identifier "piVar27")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;\n              }" ({ "{") (expression_statement "*(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;" (assignment_expression "*(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25" (pointer_expression "*(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8)" (* "*") (cast_expression "(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar27[0x1a] + iVar12 * 0x14 + 8)" (( "(") (binary_expression "piVar27[0x1a] + iVar12 * 0x14 + 8" (binary_expression "piVar27[0x1a] + iVar12 * 0x14" (subscript_expression "piVar27[0x1a]" (identifier "piVar27") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iVar12 * 0x14" (identifier "iVar12") (* "*") (number_literal "0x14"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar25")) (; ";")) (} "}")) (else_clause "else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }" (else "else") (compound_statement "{\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;\n              }" ({ "{") (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (* "*") (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9adac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9adac)" (( "(") (binary_expression "pcVar33 + 0x9adac" (identifier "pcVar33") (+ "+") (number_literal "0x9adac")) () ")")))) (+ "+") (number_literal "-0x450c")) () ")")))) (= "=") (identifier "iVar25")) (; ";")) (} "}")))) (} "}"))) (expression_statement "iStack_f8 = iStack_e8 + iVar28;" (assignment_expression "iStack_f8 = iStack_e8 + iVar28" (identifier "iStack_f8") (= "=") (binary_expression "iStack_e8 + iVar28" (identifier "iStack_e8") (+ "+") (identifier "iVar28"))) (; ";")) (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') {\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }\n            else {\n              iVar28 = 0;\n            }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" (( "(") (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" (* "*") (cast_expression "(char *)(iVar4 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'V'" (' "'") (character "V") (' "'"))) () ")")) (compound_statement "{\n              iVar34 = iStack_e8 + iVar34;\n              iStack_e8 = iVar6 + iVar23 + iStack_e8;\nLAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);\n              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);\n              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);\n              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);\n            }" ({ "{") (expression_statement "iVar34 = iStack_e8 + iVar34;" (assignment_expression "iVar34 = iStack_e8 + iVar34" (identifier "iVar34") (= "=") (binary_expression "iStack_e8 + iVar34" (identifier "iStack_e8") (+ "+") (identifier "iVar34"))) (; ";")) (expression_statement "iStack_e8 = iVar6 + iVar23 + iStack_e8;" (assignment_expression "iStack_e8 = iVar6 + iVar23 + iStack_e8" (identifier "iStack_e8") (= "=") (binary_expression "iVar6 + iVar23 + iStack_e8" (binary_expression "iVar6 + iVar23" (identifier "iVar6") (+ "+") (identifier "iVar23")) (+ "+") (identifier "iStack_e8"))) (; ";")) (labeled_statement "LAB_000c1e74:\n              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);" (statement_identifier "LAB_000c1e74") (: ":") (expression_statement "uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);" (assignment_expression "uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0)" (identifier "uVar7") (= "=") (call_expression "(*pcStack_e4)(puVar18,piVar29,0,0)" (parenthesized_expression "(*pcStack_e4)" (( "(") (pointer_expression "*pcStack_e4" (* "*") (identifier "pcStack_e4")) () ")")) (argument_list "(puVar18,piVar29,0,0)" (( "(") (identifier "puVar18") (, ",") (identifier "piVar29") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";"))) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28)" (identifier "iVar28") (= "=") (call_expression "(*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x57,iStack_e8,iVar34,iVar28)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x57") (, ",") (identifier "iStack_e8") (, ",") (identifier "iVar34") (, ",") (identifier "iVar28") () ")")))) (; ";")) (expression_statement "(*pcStack_f4)(piVar27,uVar7,0xfffffff7);" (call_expression "(*pcStack_f4)(piVar27,uVar7,0xfffffff7)" (parenthesized_expression "(*pcStack_f4)" (( "(") (pointer_expression "*pcStack_f4" (* "*") (identifier "pcStack_f4")) () ")")) (argument_list "(piVar27,uVar7,0xfffffff7)" (( "(") (identifier "piVar27") (, ",") (identifier "uVar7") (, ",") (number_literal "0xfffffff7") () ")"))) (; ";")) (expression_statement "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);" (assignment_expression "iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" (identifier "iVar28") (= "=") (call_expression "(*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x10,iVar28 + 2,0,iVar28 + 2)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x10") (, ",") (binary_expression "iVar28 + 2" (identifier "iVar28") (+ "+") (number_literal "2")) (, ",") (number_literal "0") (, ",") (binary_expression "iVar28 + 2" (identifier "iVar28") (+ "+") (number_literal "2")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n              iVar28 = 0;\n            }" (else "else") (compound_statement "{\n              iVar28 = 0;\n            }" ({ "{") (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" (identifier "iVar28") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');" (call_expression "(*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" (parenthesized_expression "(*pcVar35)" (( "(") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) () ")")) (argument_list "(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R')" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (binary_expression "*(char *)(iVar4 + 0xd) == 'R'" (pointer_expression "*(char *)(iVar4 + 0xd)" (* "*") (cast_expression "(char *)(iVar4 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xd)" (( "(") (binary_expression "iVar4 + 0xd" (identifier "iVar4") (+ "+") (number_literal "0xd")) () ")")))) (== "==") (char_literal "'R'" (' "'") (character "R") (' "'"))) () ")"))) (; ";")) (if_statement "if (iVar31 != 0) {\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }" (if "if") (parenthesized_expression "(iVar31 != 0)" (( "(") (binary_expression "iVar31 != 0" (identifier "iVar31") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar34 = piVar27[0x1b];\n              if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }\n              if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }\n            }" ({ "{") (expression_statement "iVar34 = piVar27[0x1b];" (assignment_expression "iVar34 = piVar27[0x1b]" (identifier "iVar34") (= "=") (subscript_expression "piVar27[0x1b]" (identifier "piVar27") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (iVar31 < 0) {\n                iVar31 = iVar34 + -1;\n              }" (if "if") (parenthesized_expression "(iVar31 < 0)" (( "(") (binary_expression "iVar31 < 0" (identifier "iVar31") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                iVar31 = iVar34 + -1;\n              }" ({ "{") (expression_statement "iVar31 = iVar34 + -1;" (assignment_expression "iVar31 = iVar34 + -1" (identifier "iVar31") (= "=") (binary_expression "iVar34 + -1" (identifier "iVar34") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*piVar27 + 0x51) == '\0') {\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }\n              else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }" (if "if") (parenthesized_expression "(*(char *)(*piVar27 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*piVar27 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar27 + 0x51)" (* "*") (cast_expression "(char *)(*piVar27 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar27 + 0x51)" (( "(") (binary_expression "*piVar27 + 0x51" (pointer_expression "*piVar27" (* "*") (identifier "piVar27")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;\n              }" ({ "{") (expression_statement "*(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;" (assignment_expression "*(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34" (pointer_expression "*(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8)" (* "*") (cast_expression "(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar27[0x1a] + iVar31 * 0x14 + 8)" (( "(") (binary_expression "piVar27[0x1a] + iVar31 * 0x14 + 8" (binary_expression "piVar27[0x1a] + iVar31 * 0x14" (subscript_expression "piVar27[0x1a]" (identifier "piVar27") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iVar31 * 0x14" (identifier "iVar31") (* "*") (number_literal "0x14"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar34")) (; ";")) (} "}")) (else_clause "else {\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }" (else "else") (compound_statement "{\n                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;\n              }" ({ "{") (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (* "*") (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9adac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9adac)" (( "(") (binary_expression "pcVar33 + 0x9adac" (identifier "pcVar33") (+ "+") (number_literal "0x9adac")) () ")")))) (+ "+") (number_literal "-0x450c")) () ")")))) (= "=") (identifier "iVar34")) (; ";")) (} "}")))) (} "}"))) (} "}")))) (expression_statement "iVar31 = piVar27[0x1b];" (assignment_expression "iVar31 = piVar27[0x1b]" (identifier "iVar31") (= "=") (subscript_expression "piVar27[0x1b]" (identifier "piVar27") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (} "}")))) (expression_statement "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);" (call_expression "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x24") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (binary_expression "iVar31 + 3" (identifier "iVar31") (+ "+") (number_literal "3")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);" (call_expression "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0xc,puStack_8c,iStack_88,0)" (( "(") (identifier "piVar27") (, ",") (number_literal "0xc") (, ",") (identifier "puStack_8c") (, ",") (identifier "iStack_88") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);" (call_expression "(*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0)" (( "(") (identifier "piVar27") (, ",") (number_literal "5") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (binary_expression "piVar27[0x1b] + -1" (subscript_expression "piVar27[0x1b]" (identifier "piVar27") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "-1")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);" (call_expression "(*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x8a") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1);" (call_expression "(*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),\n                   iStack_f8 + -1)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x4e") (, ",") (binary_expression "iVar6 + *(int *)(iVar4 + 0x40)" (identifier "iVar6") (+ "+") (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")"))))) (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (, ",") (binary_expression "iStack_f8 + -1" (identifier "iStack_f8") (+ "+") (number_literal "-1")) () ")"))) (; ";")) (if_statement "if (iVar28 != 0) {\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }" (if "if") (parenthesized_expression "(iVar28 != 0)" (( "(") (binary_expression "iVar28 != 0" (identifier "iVar28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar31 = piVar27[0x1b];\n          if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }\n          if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }\n        }" ({ "{") (expression_statement "iVar31 = piVar27[0x1b];" (assignment_expression "iVar31 = piVar27[0x1b]" (identifier "iVar31") (= "=") (subscript_expression "piVar27[0x1b]" (identifier "piVar27") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (iVar28 < 0) {\n            iVar28 = iVar31 + -1;\n          }" (if "if") (parenthesized_expression "(iVar28 < 0)" (( "(") (binary_expression "iVar28 < 0" (identifier "iVar28") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            iVar28 = iVar31 + -1;\n          }" ({ "{") (expression_statement "iVar28 = iVar31 + -1;" (assignment_expression "iVar28 = iVar31 + -1" (identifier "iVar28") (= "=") (binary_expression "iVar31 + -1" (identifier "iVar31") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*piVar27 + 0x51) == '\0') {\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }\n          else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }" (if "if") (parenthesized_expression "(*(char *)(*piVar27 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*piVar27 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar27 + 0x51)" (* "*") (cast_expression "(char *)(*piVar27 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar27 + 0x51)" (( "(") (binary_expression "*piVar27 + 0x51" (pointer_expression "*piVar27" (* "*") (identifier "piVar27")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;\n          }" ({ "{") (expression_statement "*(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;" (assignment_expression "*(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31" (pointer_expression "*(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8)" (* "*") (cast_expression "(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar27[0x1a] + iVar28 * 0x14 + 8)" (( "(") (binary_expression "piVar27[0x1a] + iVar28 * 0x14 + 8" (binary_expression "piVar27[0x1a] + iVar28 * 0x14" (subscript_expression "piVar27[0x1a]" (identifier "piVar27") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iVar28 * 0x14" (identifier "iVar28") (* "*") (number_literal "0x14"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar31")) (; ";")) (} "}")) (else_clause "else {\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }" (else "else") (compound_statement "{\n            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;\n          }" ({ "{") (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (* "*") (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9adac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9adac)" (( "(") (binary_expression "pcVar33 + 0x9adac" (identifier "pcVar33") (+ "+") (number_literal "0x9adac")) () ")")))) (+ "+") (number_literal "-0x450c")) () ")")))) (= "=") (identifier "iVar31")) (; ";")) (} "}")))) (} "}"))) (} "}")))) (labeled_statement "LAB_000c0b50:\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);" (statement_identifier "LAB_000c0b50") (: ":") (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7af4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7af4")) () ")")))) () ")")) (argument_list "(puVar18,iVar4,0xffffffff,0,iVar6,0)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (number_literal "0xffffffff") (, ",") (number_literal "0") (, ",") (identifier "iVar6") (, ",") (number_literal "0") () ")"))) (; ";"))) (if_statement "if (*(int *)(iVar4 + 0x40) < 1) {\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }\n      else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x40) < 1)" (( "(") (binary_expression "*(int *)(iVar4 + 0x40) < 1" (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")")))) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        (*pcVar36)(piVar27,0x4b,0,iVar22,0);\n        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);\n      }" ({ "{") (expression_statement "(*pcVar36)(piVar27,0x4b,0,iVar22,0);" (call_expression "(*pcVar36)(piVar27,0x4b,0,iVar22,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x4b,0,iVar22,0)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x4b") (, ",") (number_literal "0") (, ",") (identifier "iVar22") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))\n                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9ae94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9ae94)" (( "(") (binary_expression "pcVar33 + 0x9ae94" (identifier "pcVar33") (+ "+") (number_literal "0x9ae94")) () ")")))) (+ "+") (number_literal "-0x5958")) () ")")))) () ")")) (argument_list "(piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0)" (( "(") (identifier "piVar27") (, ",") (binary_expression "*(int *)(pcVar33 + 0x9adbc) + 0x53f4" (pointer_expression "*(int *)(pcVar33 + 0x9adbc)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9adbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9adbc)" (( "(") (binary_expression "pcVar33 + 0x9adbc" (identifier "pcVar33") (+ "+") (number_literal "0x9adbc")) () ")")))) (+ "+") (number_literal "0x53f4")) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }" (else "else") (compound_statement "{\n        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);\n      }" ({ "{") (expression_statement "(*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);" (call_expression "(*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x66") (, ",") (identifier "iVar6") (, ",") (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")")))) (, ",") (identifier "iVar22") () ")"))) (; ";")) (} "}")))) (expression_statement "(*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);" (call_expression "(*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x79") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);" (call_expression "(*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x7a") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "iVar22") (, ",") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x18cc)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x18cc" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x18cc")) () ")")))) () ")")) (argument_list "(puVar24)" (( "(") (identifier "puVar24") () ")"))) (; ";")) (expression_statement "(*pcVar35)(puVar18,iVar4,1);" (call_expression "(*pcVar35)(puVar18,iVar4,1)" (parenthesized_expression "(*pcVar35)" (( "(") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) () ")")) (argument_list "(puVar18,iVar4,1)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);" (call_expression "(*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0)" (( "(") (identifier "piVar27") (, ",") (number_literal "0x24") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (binary_expression "piVar27[0x1b] + 3" (subscript_expression "piVar27[0x1b]" (identifier "piVar27") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "3")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);" (call_expression "(*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,0xc,puStack_8c,iStack_88,0)" (( "(") (identifier "piVar27") (, ",") (number_literal "0xc") (, ",") (identifier "puStack_8c") (, ",") (identifier "iStack_88") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar22 = 5;" (assignment_expression "iVar22 = 5" (identifier "iVar22") (= "=") (number_literal "5")) (; ";")) (expression_statement "iVar28 = *(int *)(iVar4 + 0x24);" (assignment_expression "iVar28 = *(int *)(iVar4 + 0x24)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar4 + 0x24)" (* "*") (cast_expression "(int *)(iVar4 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "(*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);" (call_expression "(*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar27,5,iVar28,piVar27[0x1b] + -1,0)" (( "(") (identifier "piVar27") (, ",") (number_literal "5") (, ",") (identifier "iVar28") (, ",") (binary_expression "piVar27[0x1b] + -1" (subscript_expression "piVar27[0x1b]" (identifier "piVar27") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "-1")) (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_000c0f44;" (goto "goto") (statement_identifier "LAB_000c0f44") (; ";")) (} "}"))) (labeled_statement "LAB_000c0c60:\n    piVar26 = *(int **)(puVar18 + 8);" (statement_identifier "LAB_000c0c60") (: ":") (expression_statement "piVar26 = *(int **)(puVar18 + 8);" (assignment_expression "piVar26 = *(int **)(puVar18 + 8)" (identifier "piVar26") (= "=") (pointer_expression "*(int **)(puVar18 + 8)" (* "*") (cast_expression "(int **)(puVar18 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (if_statement "if (piVar26 == (int *)0x0) {\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }\n    else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }" (if "if") (parenthesized_expression "(piVar26 == (int *)0x0)" (( "(") (binary_expression "piVar26 == (int *)0x0" (identifier "piVar26") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);\n      piVar27 = *(int **)(iVar4 + 8);\n      piStack_e0 = *(int **)(iVar4 + 4);\n      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;\nLAB_000c1450:\n      iStack_f0 = 0;\n      bVar2 = false;\n    }" ({ "{") (expression_statement "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);" (assignment_expression "piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (identifier "piVar26") (= "=") (cast_expression "(int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x371c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x371c" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x371c")) () ")")))) () ")")) (argument_list "(puVar18)" (( "(") (identifier "puVar18") () ")"))))) (; ";")) (expression_statement "piVar27 = *(int **)(iVar4 + 8);" (assignment_expression "piVar27 = *(int **)(iVar4 + 8)" (identifier "piVar27") (= "=") (pointer_expression "*(int **)(iVar4 + 8)" (* "*") (cast_expression "(int **)(iVar4 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "piStack_e0 = *(int **)(iVar4 + 4);" (assignment_expression "piStack_e0 = *(int **)(iVar4 + 4)" (identifier "piStack_e0") (= "=") (pointer_expression "*(int **)(iVar4 + 4)" (* "*") (cast_expression "(int **)(iVar4 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (piVar27 != (int *)0x0) goto LAB_000c0c7c;" (if "if") (parenthesized_expression "(piVar27 != (int *)0x0)" (( "(") (binary_expression "piVar27 != (int *)0x0" (identifier "piVar27") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c0c7c;" (goto "goto") (statement_identifier "LAB_000c0c7c") (; ";"))) (labeled_statement "LAB_000c1450:\n      iStack_f0 = 0;" (statement_identifier "LAB_000c1450") (: ":") (expression_statement "iStack_f0 = 0;" (assignment_expression "iStack_f0 = 0" (identifier "iStack_f0") (= "=") (number_literal "0")) (; ";"))) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }" (else "else") (compound_statement "{\n      piStack_e0 = *(int **)(iVar4 + 4);\n      piVar27 = *(int **)(iVar4 + 8);\n      if (piVar27 == (int *)0x0) goto LAB_000c1450;\nLAB_000c0c7c:\n      iStack_f0 = *piVar27;\n      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;\n    }" ({ "{") (expression_statement "piStack_e0 = *(int **)(iVar4 + 4);" (assignment_expression "piStack_e0 = *(int **)(iVar4 + 4)" (identifier "piStack_e0") (= "=") (pointer_expression "*(int **)(iVar4 + 4)" (* "*") (cast_expression "(int **)(iVar4 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "piVar27 = *(int **)(iVar4 + 8);" (assignment_expression "piVar27 = *(int **)(iVar4 + 8)" (identifier "piVar27") (= "=") (pointer_expression "*(int **)(iVar4 + 8)" (* "*") (cast_expression "(int **)(iVar4 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (piVar27 == (int *)0x0) goto LAB_000c1450;" (if "if") (parenthesized_expression "(piVar27 == (int *)0x0)" (( "(") (binary_expression "piVar27 == (int *)0x0" (identifier "piVar27") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c1450;" (goto "goto") (statement_identifier "LAB_000c1450") (; ";"))) (labeled_statement "LAB_000c0c7c:\n      iStack_f0 = *piVar27;" (statement_identifier "LAB_000c0c7c") (: ":") (expression_statement "iStack_f0 = *piVar27;" (assignment_expression "iStack_f0 = *piVar27" (identifier "iStack_f0") (= "=") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) (; ";"))) (expression_statement "bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;" (assignment_expression "bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700" (identifier "bVar2") (= "=") (binary_expression "(*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700" (parenthesized_expression "(*(uint *)(iVar4 + 0xc) & 0xffff00)" (( "(") (binary_expression "*(uint *)(iVar4 + 0xc) & 0xffff00" (pointer_expression "*(uint *)(iVar4 + 0xc)" (* "*") (cast_expression "(uint *)(iVar4 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0xffff00")) () ")")) (== "==") (number_literal "0x525700"))) (; ";")) (} "}")))) (expression_statement "iVar22 = *(int *)(puVar18 + 0x2c);" (assignment_expression "iVar22 = *(int *)(puVar18 + 0x2c)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(puVar18 + 0x2c)" (* "*") (cast_expression "(int *)(puVar18 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x2c)" (( "(") (binary_expression "puVar18 + 0x2c" (identifier "puVar18") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(puVar18 + 0x28);" (assignment_expression "iVar12 = *(int *)(puVar18 + 0x28)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(puVar18 + 0x28)" (* "*") (cast_expression "(int *)(puVar18 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x28)" (( "(") (binary_expression "puVar18 + 0x28" (identifier "puVar18") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "iVar34 = *(int *)(pcVar33 + 0x9aee8);" (assignment_expression "iVar34 = *(int *)(pcVar33 + 0x9aee8)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar6 = *(int *)(puVar18 + 0x38)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(puVar18 + 0x38)" (* "*") (cast_expression "(int *)(puVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar28 = iVar22 + iStack_f0;" (assignment_expression "iVar28 = iVar22 + iStack_f0" (identifier "iVar28") (= "=") (binary_expression "iVar22 + iStack_f0" (identifier "iVar22") (+ "+") (identifier "iStack_f0"))) (; ";")) (expression_statement "iVar23 = iVar28 + 2;" (assignment_expression "iVar23 = iVar28 + 2" (identifier "iVar23") (= "=") (binary_expression "iVar28 + 2" (identifier "iVar28") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar31 = iVar6 + -2;" (assignment_expression "iVar31 = iVar6 + -2" (identifier "iVar31") (= "=") (binary_expression "iVar6 + -2" (identifier "iVar6") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "*(int *)(puVar18 + 0x28) = iVar12 + 1;" (assignment_expression "*(int *)(puVar18 + 0x28) = iVar12 + 1" (pointer_expression "*(int *)(puVar18 + 0x28)" (* "*") (cast_expression "(int *)(puVar18 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x28)" (( "(") (binary_expression "puVar18 + 0x28" (identifier "puVar18") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" (identifier "iVar28") (= "=") (binary_expression "iVar28 + 1" (identifier "iVar28") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(puVar18 + 0x38) = iVar31;" (assignment_expression "*(int *)(puVar18 + 0x38) = iVar31" (pointer_expression "*(int *)(puVar18 + 0x38)" (* "*") (cast_expression "(int *)(puVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "iVar31")) (; ";")) (expression_statement "*(int *)(puVar18 + 0x2c) = iVar23;" (assignment_expression "*(int *)(puVar18 + 0x2c) = iVar23" (pointer_expression "*(int *)(puVar18 + 0x2c)" (* "*") (cast_expression "(int *)(puVar18 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x2c)" (( "(") (binary_expression "puVar18 + 0x2c" (identifier "puVar18") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "iVar23")) (; ";")) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "(*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8);" (call_expression "(*(code *)(iVar34 + -0x7e94))\n              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8)" (parenthesized_expression "(*(code *)(iVar34 + -0x7e94))" (( "(") (pointer_expression "*(code *)(iVar34 + -0x7e94)" (* "*") (cast_expression "(code *)(iVar34 + -0x7e94)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + -0x7e94)" (( "(") (binary_expression "iVar34 + -0x7e94" (identifier "iVar34") (+ "+") (number_literal "-0x7e94")) () ")")))) () ")")) (argument_list "(puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,\n               &uStack_c8)" (( "(") (identifier "puVar18") (, ",") (binary_expression "puVar21 + 0x20" (identifier "puVar21") (+ "+") (number_literal "0x20")) (, ",") (pointer_expression "*(undefined4 *)(puVar21 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar21 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x44)" (( "(") (binary_expression "puVar21 + 0x44" (identifier "puVar21") (+ "+") (number_literal "0x44")) () ")")))) (, ",") (identifier "puVar24") (, ",") (identifier "iVar28") (, ",") (identifier "iVar31") (, ",") (pointer_expression "&uStack_c8" (& "&") (identifier "uStack_c8")) () ")"))) (; ";")) (expression_statement "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);" (assignment_expression "pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (identifier "pcVar36") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x3890)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x3890" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x3890")) () ")")))) (; ";")) (expression_statement "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);" (assignment_expression "iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0)" (identifier "iStack_f8") (= "=") (call_expression "(*pcVar36)(piVar26,0xb,0,0,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0xb,0,0,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0xb") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar34 = *(int *)(pcVar33 + 0x9aee4);" (assignment_expression "iVar34 = *(int *)(pcVar33 + 0x9aee4)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")"))))) (; ";")) (expression_statement "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);" (call_expression "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar31)" (parenthesized_expression "(*(code *)(iVar34 + -0x3c14))" (( "(") (pointer_expression "*(code *)(iVar34 + -0x3c14)" (* "*") (cast_expression "(code *)(iVar34 + -0x3c14)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + -0x3c14)" (( "(") (binary_expression "iVar34 + -0x3c14" (identifier "iVar34") (+ "+") (number_literal "-0x3c14")) () ")")))) () ")")) (argument_list "(piVar26,iVar31)" (( "(") (identifier "piVar26") (, ",") (identifier "iVar31") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);" (call_expression "(*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x11,0,piVar26[0x1b] + 2,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x11") (, ",") (number_literal "0") (, ",") (binary_expression "piVar26[0x1b] + 2" (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "2")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);" (call_expression "(*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x6f") (, ",") (identifier "iVar12") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);" (assignment_expression "uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" (identifier "uVar7") (= "=") (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee4) + -0x2e00)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee4) + -0x2e00" (pointer_expression "*(int *)(pcVar33 + 0x9aee4)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee4)" (( "(") (binary_expression "pcVar33 + 0x9aee4" (identifier "pcVar33") (+ "+") (number_literal "0x9aee4")) () ")")))) (+ "+") (number_literal "-0x2e00")) () ")")))) () ")")) (argument_list "(puVar18,iVar4)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x46,0,iVar23,0);" (call_expression "(*pcVar36)(piVar26,0x46,0,iVar23,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x46,0,iVar23,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x46") (, ",") (number_literal "0") (, ",") (identifier "iVar23") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x24,iVar12,iVar6,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x24") (, ",") (identifier "iVar12") (, ",") (identifier "iVar6") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x24") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "iVar6") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (bVar2) {\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }\n    else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n      iVar31 = piVar26[0x1b];\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n      (*pcVar36)(piVar26,5,iVar12,iVar31,0);\n      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 != (int *)0x0) goto LAB_000c0e28;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n    }" ({ "{") (expression_statement "iVar31 = piVar26[0x1b];" (assignment_expression "iVar31 = piVar26[0x1b]" (identifier "iVar31") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7af4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7af4")) () ")")))) () ")")) (argument_list "(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (identifier "iVar12") (, ",") (number_literal "0") (, ",") (identifier "uVar7") (, ",") (identifier "uStack_c8") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,5,iVar12,iVar31,0);" (call_expression "(*pcVar36)(piVar26,5,iVar12,iVar31,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,5,iVar12,iVar31,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "5") (, ",") (identifier "iVar12") (, ",") (identifier "iVar31") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0);" (call_expression "(*pcVar36)(piVar26,0x24,iVar12,iVar6,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x24,iVar12,iVar6,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x24") (, ",") (identifier "iVar12") (, ",") (identifier "iVar6") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iStack_e8 = piVar26[0x1b];" (assignment_expression "iStack_e8 = piVar26[0x1b]" (identifier "iStack_e8") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (piVar27 != (int *)0x0) goto LAB_000c0e28;" (if "if") (parenthesized_expression "(piVar27 != (int *)0x0)" (( "(") (binary_expression "piVar27 != (int *)0x0" (identifier "piVar27") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c0e28;" (goto "goto") (statement_identifier "LAB_000c0e28") (; ";"))) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7508")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }" (else "else") (compound_statement "{\n      iStack_e8 = piVar26[0x1b];\n      if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }\n      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);\n    }" ({ "{") (expression_statement "iStack_e8 = piVar26[0x1b];" (assignment_expression "iStack_e8 = piVar26[0x1b]" (identifier "iStack_e8") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (piVar27 == (int *)0x0) {\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }\n      else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }" (if "if") (parenthesized_expression "(piVar27 == (int *)0x0)" (( "(") (binary_expression "piVar27 == (int *)0x0" (identifier "piVar27") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n      }" ({ "{") (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7508")) () ")")))) (; ";")) (} "}")) (else_clause "else {\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }" (else "else") (compound_statement "{\nLAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);\n        uVar8 = uVar7;\n        if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }\n        if (bVar2) goto LAB_000c0e5c;\n      }" ({ "{") (labeled_statement "LAB_000c0e28:\n        cVar14 = *(char *)(iVar4 + 0xd);" (statement_identifier "LAB_000c0e28") (: ":") (expression_statement "cVar14 = *(char *)(iVar4 + 0xd);" (assignment_expression "cVar14 = *(char *)(iVar4 + 0xd)" (identifier "cVar14") (= "=") (pointer_expression "*(char *)(iVar4 + 0xd)" (* "*") (cast_expression "(char *)(iVar4 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xd)" (( "(") (binary_expression "iVar4 + 0xd" (identifier "iVar4") (+ "+") (number_literal "0xd")) () ")"))))) (; ";"))) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" (identifier "uVar8") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (*(char *)(iVar4 + 0xe) == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }\n        else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0xe) == 'R')" (( "(") (binary_expression "*(char *)(iVar4 + 0xe) == 'R'" (pointer_expression "*(char *)(iVar4 + 0xe)" (* "*") (cast_expression "(char *)(iVar4 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xe)" (( "(") (binary_expression "iVar4 + 0xe" (identifier "iVar4") (+ "+") (number_literal "0xe")) () ")")))) (== "==") (char_literal "'R'" (' "'") (character "R") (' "'"))) () ")")) (compound_statement "{\n          if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }\n          if (cVar14 == 'R') goto LAB_000c1494;\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);\n        }" ({ "{") (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') {\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" (( "(") (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" (* "*") (cast_expression "(char *)(iVar4 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'V'" (' "'") (character "V") (' "'"))) () ")")) (compound_statement "{\nLAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);\n            if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }\n            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);\n            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);\n            iVar22 = iVar22 + 1;\n            if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }\n            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);\n            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);\n            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);\n            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);\n            uVar9 = uStack_c8;\n            if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }\n            goto LAB_000c14a0;\n          }" ({ "{") (labeled_statement "LAB_000c1544:\n            iVar31 = *(int *)(iVar4 + 0x40);" (statement_identifier "LAB_000c1544") (: ":") (expression_statement "iVar31 = *(int *)(iVar4 + 0x40);" (assignment_expression "iVar31 = *(int *)(iVar4 + 0x40)" (identifier "iVar31") (= "=") (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")"))))) (; ";"))) (if_statement "if (piStack_e0 == (int *)0x0) {\n              iVar25 = 0;\n            }\n            else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }" (if "if") (parenthesized_expression "(piStack_e0 == (int *)0x0)" (( "(") (binary_expression "piStack_e0 == (int *)0x0" (identifier "piStack_e0") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              iVar25 = 0;\n            }" ({ "{") (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" (identifier "iVar25") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }" (else "else") (compound_statement "{\n              iVar25 = *piStack_e0;\n              iVar31 = iVar31 + iVar25;\n            }" ({ "{") (expression_statement "iVar25 = *piStack_e0;" (assignment_expression "iVar25 = *piStack_e0" (identifier "iVar25") (= "=") (pointer_expression "*piStack_e0" (* "*") (identifier "piStack_e0"))) (; ";")) (expression_statement "iVar31 = iVar31 + iVar25;" (assignment_expression "iVar31 = iVar31 + iVar25" (identifier "iVar31") (= "=") (binary_expression "iVar31 + iVar25" (identifier "iVar31") (+ "+") (identifier "iVar25"))) (; ";")) (} "}")))) (expression_statement "iVar25 = iVar25 + *(int *)(iVar4 + 0x38);" (assignment_expression "iVar25 = iVar25 + *(int *)(iVar4 + 0x38)" (identifier "iVar25") (= "=") (binary_expression "iVar25 + *(int *)(iVar4 + 0x38)" (identifier "iVar25") (+ "+") (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (expression_statement "uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);" (assignment_expression "uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0)" (identifier "uVar9") (= "=") (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7fc4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7fc4")) () ")")))) () ")")) (argument_list "(puVar18,piVar27,0,0)" (( "(") (identifier "puVar18") (, ",") (identifier "piVar27") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" (identifier "iVar22") (= "=") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (0 < iStack_f0) {\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }" (if "if") (parenthesized_expression "(0 < iStack_f0)" (( "(") (binary_expression "0 < iStack_f0" (number_literal "0") (< "<") (identifier "iStack_f0")) () ")")) (compound_statement "{\n              iVar10 = iStack_f0 + iVar31;\n              iVar11 = iVar22 - iVar31;\n              do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);\n            }" ({ "{") (expression_statement "iVar10 = iStack_f0 + iVar31;" (assignment_expression "iVar10 = iStack_f0 + iVar31" (identifier "iVar10") (= "=") (binary_expression "iStack_f0 + iVar31" (identifier "iStack_f0") (+ "+") (identifier "iVar31"))) (; ";")) (expression_statement "iVar11 = iVar22 - iVar31;" (assignment_expression "iVar11 = iVar22 - iVar31" (identifier "iVar11") (= "=") (binary_expression "iVar22 - iVar31" (identifier "iVar22") (- "-") (identifier "iVar31"))) (; ";")) (do_statement "do {\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              } while (iVar31 != iVar10);" (do "do") (compound_statement "{\n                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);\n                iVar31 = iVar31 + 1;\n              }" ({ "{") (expression_statement "(*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);" (call_expression "(*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x5a") (, ",") (identifier "iVar12") (, ",") (identifier "iVar31") (, ",") (binary_expression "iVar11 + iVar31" (identifier "iVar11") (+ "+") (identifier "iVar31")) () ")"))) (; ";")) (expression_statement "iVar31 = iVar31 + 1;" (assignment_expression "iVar31 = iVar31 + 1" (identifier "iVar31") (= "=") (binary_expression "iVar31 + 1" (identifier "iVar31") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar31 != iVar10)" (( "(") (binary_expression "iVar31 != iVar10" (identifier "iVar31") (!= "!=") (identifier "iVar10")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);" (assignment_expression "iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0)" (identifier "iVar31") (= "=") (call_expression "(*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x57,iVar22,iVar25,iStack_f0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x57") (, ",") (identifier "iVar22") (, ",") (identifier "iVar25") (, ",") (identifier "iStack_f0") () ")")))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9ae94) + -0x5958)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9ae94) + -0x5958" (pointer_expression "*(int *)(pcVar33 + 0x9ae94)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9ae94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9ae94)" (( "(") (binary_expression "pcVar33 + 0x9ae94" (identifier "pcVar33") (+ "+") (number_literal "0x9ae94")) () ")")))) (+ "+") (number_literal "-0x5958")) () ")")))) () ")")) (argument_list "(piVar26,uVar9,0xfffffff7)" (( "(") (identifier "piVar26") (, ",") (identifier "uVar9") (, ",") (number_literal "0xfffffff7") () ")"))) (; ";")) (expression_statement "iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);" (assignment_expression "iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2)" (identifier "iVar31") (= "=") (call_expression "(*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x10,iVar31 + 2,0,iVar31 + 2)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x10") (, ",") (binary_expression "iVar31 + 2" (identifier "iVar31") (+ "+") (number_literal "2")) (, ",") (number_literal "0") (, ",") (binary_expression "iVar31 + 2" (identifier "iVar31") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);" (call_expression "(*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x4e") (, ",") (identifier "iVar22") (, ",") (identifier "iVar25") (, ",") (binary_expression "iStack_f0 + -1" (identifier "iStack_f0") (+ "+") (number_literal "-1")) () ")"))) (; ";")) (expression_statement "uVar9 = uStack_c8;" (assignment_expression "uVar9 = uStack_c8" (identifier "uVar9") (= "=") (identifier "uStack_c8")) (; ";")) (if_statement "if (cVar14 != 'R') {\n              uVar8 = 0;\n              uVar9 = 0;\n            }" (if "if") (parenthesized_expression "(cVar14 != 'R')" (( "(") (binary_expression "cVar14 != 'R'" (identifier "cVar14") (!= "!=") (char_literal "'R'" (' "'") (character "R") (' "'"))) () ")")) (compound_statement "{\n              uVar8 = 0;\n              uVar9 = 0;\n            }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (} "}"))) (goto_statement "goto LAB_000c14a0;" (goto "goto") (statement_identifier "LAB_000c14a0") (; ";")) (} "}"))) (if_statement "if (cVar14 == 'R') goto LAB_000c1494;" (if "if") (parenthesized_expression "(cVar14 == 'R')" (( "(") (binary_expression "cVar14 == 'R'" (identifier "cVar14") (== "==") (char_literal "'R'" (' "'") (character "R") (' "'"))) () ")")) (goto_statement "goto LAB_000c1494;" (goto "goto") (statement_identifier "LAB_000c1494") (; ";"))) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7508")) () ")")))) (; ";")) (expression_statement "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);" (call_expression "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" (parenthesized_expression "(*pcVar35)" (( "(") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) () ")")) (argument_list "(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (identifier "iVar23") (, ",") (identifier "puStack_8c") (, ",") (identifier "iStack_88") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" (else "else") (if_statement "if (cVar14 == 'R') {\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }\n        else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" (if "if") (parenthesized_expression "(cVar14 == 'R')" (( "(") (binary_expression "cVar14 == 'R'" (identifier "cVar14") (== "==") (char_literal "'R'" (' "'") (character "R") (' "'"))) () ")")) (compound_statement "{\n          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;\nLAB_000c1494:\n          iVar31 = 0;\n          uVar9 = uStack_c8;\nLAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);\n          if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }\n        }" ({ "{") (if_statement "if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0xc) == 'V')" (( "(") (binary_expression "*(char *)(iVar4 + 0xc) == 'V'" (pointer_expression "*(char *)(iVar4 + 0xc)" (* "*") (cast_expression "(char *)(iVar4 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'V'" (' "'") (character "V") (' "'"))) () ")")) (goto_statement "goto LAB_000c1544;" (goto "goto") (statement_identifier "LAB_000c1544") (; ";"))) (labeled_statement "LAB_000c1494:\n          iVar31 = 0;" (statement_identifier "LAB_000c1494") (: ":") (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" (identifier "iVar31") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar9 = uStack_c8;" (assignment_expression "uVar9 = uStack_c8" (identifier "uVar9") (= "=") (identifier "uStack_c8")) (; ";")) (labeled_statement "LAB_000c14a0:\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (statement_identifier "LAB_000c14a0") (: ":") (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7508")) () ")")))) (; ";"))) (expression_statement "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);" (call_expression "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9)" (parenthesized_expression "(*pcVar35)" (( "(") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) () ")")) (argument_list "(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (identifier "iVar23") (, ",") (identifier "puStack_8c") (, ",") (identifier "iStack_88") (, ",") (identifier "uVar8") (, ",") (identifier "uVar9") () ")"))) (; ";")) (if_statement "if (iVar31 != 0) {\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }" (if "if") (parenthesized_expression "(iVar31 != 0)" (( "(") (binary_expression "iVar31 != 0" (identifier "iVar31") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar22 = piVar26[0x1b];\n            if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }\n            if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }\n          }" ({ "{") (expression_statement "iVar22 = piVar26[0x1b];" (assignment_expression "iVar22 = piVar26[0x1b]" (identifier "iVar22") (= "=") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (iVar31 < 0) {\n              iVar31 = iVar22 + -1;\n            }" (if "if") (parenthesized_expression "(iVar31 < 0)" (( "(") (binary_expression "iVar31 < 0" (identifier "iVar31") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              iVar31 = iVar22 + -1;\n            }" ({ "{") (expression_statement "iVar31 = iVar22 + -1;" (assignment_expression "iVar31 = iVar22 + -1" (identifier "iVar31") (= "=") (binary_expression "iVar22 + -1" (identifier "iVar22") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }\n            else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }" (if "if") (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" (* "*") (cast_expression "(char *)(*piVar26 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar26 + 0x51)" (( "(") (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" (* "*") (identifier "piVar26")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;\n            }" ({ "{") (expression_statement "*(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;" (assignment_expression "*(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22" (pointer_expression "*(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8)" (* "*") (cast_expression "(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar26[0x1a] + iVar31 * 0x14 + 8)" (( "(") (binary_expression "piVar26[0x1a] + iVar31 * 0x14 + 8" (binary_expression "piVar26[0x1a] + iVar31 * 0x14" (subscript_expression "piVar26[0x1a]" (identifier "piVar26") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iVar31 * 0x14" (identifier "iVar31") (* "*") (number_literal "0x14"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar22")) (; ";")) (} "}")) (else_clause "else {\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }" (else "else") (compound_statement "{\n              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;\n            }" ({ "{") (expression_statement "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;" (assignment_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22" (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (* "*") (cast_expression "(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9adac) + -0x450c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x450c" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9adac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9adac)" (( "(") (binary_expression "pcVar33 + 0x9adac" (identifier "pcVar33") (+ "+") (number_literal "0x9adac")) () ")")))) (+ "+") (number_literal "-0x450c")) () ")")))) (= "=") (identifier "iVar22")) (; ";")) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" (else "else") (compound_statement "{\n          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);\n        }" ({ "{") (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (identifier "pcVar35") (= "=") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7508)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7508" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7508")) () ")")))) (; ";")) (} "}")))))) (if_statement "if (bVar2) goto LAB_000c0e5c;" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (goto_statement "goto LAB_000c0e5c;" (goto "goto") (statement_identifier "LAB_000c0e5c") (; ";"))) (} "}")))) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x9aee8) + -0x7af4)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x9aee8) + -0x7af4" (pointer_expression "*(int *)(pcVar33 + 0x9aee8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9aee8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9aee8)" (( "(") (binary_expression "pcVar33 + 0x9aee8" (identifier "pcVar33") (+ "+") (number_literal "0x9aee8")) () ")")))) (+ "+") (number_literal "-0x7af4")) () ")")))) () ")")) (argument_list "(puVar18,iVar4,iVar12,0,uVar7,uStack_c8)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (identifier "iVar12") (, ",") (number_literal "0") (, ",") (identifier "uVar7") (, ",") (identifier "uStack_c8") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_000c0e5c:\n    (*pcVar36)(piVar26,0x53,iVar23,1,0);" (statement_identifier "LAB_000c0e5c") (: ":") (expression_statement "(*pcVar36)(piVar26,0x53,iVar23,1,0);" (call_expression "(*pcVar36)(piVar26,0x53,iVar23,1,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x53,iVar23,1,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x53") (, ",") (identifier "iVar23") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))) (; ";"))) (expression_statement "(*pcVar36)(piVar26,5,iVar12,iStack_e8,0);" (call_expression "(*pcVar36)(piVar26,5,iVar12,iStack_e8,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,5,iVar12,iStack_e8,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "5") (, ",") (identifier "iVar12") (, ",") (identifier "iStack_e8") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);" (call_expression "(*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" (parenthesized_expression "(*pcVar35)" (( "(") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) () ")")) (argument_list "(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0)" (( "(") (identifier "puVar18") (, ",") (identifier "iVar4") (, ",") (identifier "iVar23") (, ",") (identifier "puStack_8c") (, ",") (identifier "iStack_88") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);" (call_expression "(*(code *)(iVar34 + -0x3c14))(piVar26,iVar6)" (parenthesized_expression "(*(code *)(iVar34 + -0x3c14))" (( "(") (pointer_expression "*(code *)(iVar34 + -0x3c14)" (* "*") (cast_expression "(code *)(iVar34 + -0x3c14)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + -0x3c14)" (( "(") (binary_expression "iVar34 + -0x3c14" (identifier "iVar34") (+ "+") (number_literal "-0x3c14")) () ")")))) () ")")) (argument_list "(piVar26,iVar6)" (( "(") (identifier "piVar26") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);" (call_expression "(*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x8a") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar22 = 0x42;" (assignment_expression "iVar22 = 0x42" (identifier "iVar22") (= "=") (number_literal "0x42")) (; ";")) (expression_statement "(*pcVar36)(piVar26,0x42,iVar28,0,0);" (call_expression "(*pcVar36)(piVar26,0x42,iVar28,0,0)" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "(piVar26,0x42,iVar28,0,0)" (( "(") (identifier "piVar26") (, ",") (number_literal "0x42") (, ",") (identifier "iVar28") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "piVar27 = (int *)piVar26[0x1b];" (assignment_expression "piVar27 = (int *)piVar26[0x1b]" (identifier "piVar27") (= "=") (cast_expression "(int *)piVar26[0x1b]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar26[0x1b]" (identifier "piVar26") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (if_statement "if (iStack_f8 < 0) {\n    iStack_f8 = (int)piVar27 + -1;\n  }" (if "if") (parenthesized_expression "(iStack_f8 < 0)" (( "(") (binary_expression "iStack_f8 < 0" (identifier "iStack_f8") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    iStack_f8 = (int)piVar27 + -1;\n  }" ({ "{") (expression_statement "iStack_f8 = (int)piVar27 + -1;" (assignment_expression "iStack_f8 = (int)piVar27 + -1" (identifier "iStack_f8") (= "=") (binary_expression "(int)piVar27 + -1" (cast_expression "(int)piVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar27")) (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*piVar26 + 0x51) == '\0') {\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }\n  else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }" (if "if") (parenthesized_expression "(*(char *)(*piVar26 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*piVar26 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar26 + 0x51)" (* "*") (cast_expression "(char *)(*piVar26 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar26 + 0x51)" (( "(") (binary_expression "*piVar26 + 0x51" (pointer_expression "*piVar26" (* "*") (identifier "piVar26")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;\n    iVar22 = iStack_f8;\n  }" ({ "{") (expression_statement "iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;" (assignment_expression "iVar4 = piVar26[0x1a] + iStack_f8 * 0x14" (identifier "iVar4") (= "=") (binary_expression "piVar26[0x1a] + iStack_f8 * 0x14" (subscript_expression "piVar26[0x1a]" (identifier "piVar26") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iStack_f8 * 0x14" (identifier "iStack_f8") (* "*") (number_literal "0x14")))) (; ";")) (expression_statement "iVar22 = iStack_f8;" (assignment_expression "iVar22 = iStack_f8" (identifier "iVar22") (= "=") (identifier "iStack_f8")) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }" (else "else") (compound_statement "{\n    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;\n  }" ({ "{") (expression_statement "iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;" (assignment_expression "iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514" (identifier "iVar4") (= "=") (binary_expression "*(int *)(pcVar33 + 0x9adac) + -0x4514" (pointer_expression "*(int *)(pcVar33 + 0x9adac)" (* "*") (cast_expression "(int *)(pcVar33 + 0x9adac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x9adac)" (( "(") (binary_expression "pcVar33 + 0x9adac" (identifier "pcVar33") (+ "+") (number_literal "0x9adac")) () ")")))) (+ "+") (number_literal "-0x4514"))) (; ";")) (} "}")))) (expression_statement "*(int **)(iVar4 + 8) = piVar27;" (assignment_expression "*(int **)(iVar4 + 8) = piVar27" (pointer_expression "*(int **)(iVar4 + 8)" (* "*") (cast_expression "(int **)(iVar4 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "piVar27")) (; ";")) (labeled_statement "LAB_000c0f44:\n  if (iStack_c4 == *piVar30) {\n    return;\n  }" (statement_identifier "LAB_000c0f44") (: ":") (if_statement "if (iStack_c4 == *piVar30) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_c4 == *piVar30)" (( "(") (binary_expression "iStack_c4 == *piVar30" (identifier "iStack_c4") (== "==") (pointer_expression "*piVar30" (* "*") (identifier "piVar30"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "pcVar33 = *(code **)(pcVar33 + 0x9b1e4);" (assignment_expression "pcVar33 = *(code **)(pcVar33 + 0x9b1e4)" (identifier "pcVar33") (= "=") (pointer_expression "*(code **)(pcVar33 + 0x9b1e4)" (* "*") (cast_expression "(code **)(pcVar33 + 0x9b1e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar33 + 0x9b1e4)" (( "(") (binary_expression "pcVar33 + 0x9b1e4" (identifier "pcVar33") (+ "+") (number_literal "0x9b1e4")) () ")"))))) (; ";")) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" (( "(") (pointer_expression "*pcVar33" (* "*") (identifier "pcVar33")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar4 = *piVar27;" (assignment_expression "iVar4 = *piVar27" (identifier "iVar4") (= "=") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) (; ";")) (if_statement "if (iVar22 == 0) {\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }\n  else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(iVar22 == 0)" (( "(") (binary_expression "iVar22 == 0" (identifier "iVar22") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }\n  }" ({ "{") (if_statement "if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8();\n      return;\n    }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(iVar4 + 0x51) == '\0'" (pointer_expression "*(char *)(iVar4 + 0x51)" (* "*") (cast_expression "(char *)(iVar4 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x51)" (( "(") (binary_expression "iVar4 + 0x51" (identifier "iVar4") (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      FUN_000c02d8();\n      return;\n    }" ({ "{") (expression_statement "FUN_000c02d8();" (call_expression "FUN_000c02d8()" (identifier "FUN_000c02d8") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }" (else "else") (compound_statement "{\n    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);\n    if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }\n    if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }\n  }" ({ "{") (expression_statement "iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);" (assignment_expression "iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4)" (identifier "iVar22") (= "=") (call_expression "(*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x997c0) + -0x271c)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x997c0) + -0x271c" (pointer_expression "*(int *)(pcVar33 + 0x997c0)" (* "*") (cast_expression "(int *)(pcVar33 + 0x997c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x997c0)" (( "(") (binary_expression "pcVar33 + 0x997c0" (identifier "pcVar33") (+ "+") (number_literal "0x997c0")) () ")")))) (+ "+") (number_literal "-0x271c")) () ")")))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (; ";")) (if_statement "if (*(char *)(iVar4 + 0x51) == '\0') {\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(iVar4 + 0x51) == '\0'" (pointer_expression "*(char *)(iVar4 + 0x51)" (* "*") (cast_expression "(char *)(iVar4 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x51)" (( "(") (binary_expression "iVar4 + 0x51" (identifier "iVar4") (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      FUN_000c02d8(piVar27,iVar22,iVar28);\n    }" ({ "{") (expression_statement "FUN_000c02d8(piVar27,iVar22,iVar28);" (call_expression "FUN_000c02d8(piVar27,iVar22,iVar28)" (identifier "FUN_000c02d8") (argument_list "(piVar27,iVar22,iVar28)" (( "(") (identifier "piVar27") (, ",") (identifier "iVar22") (, ",") (identifier "iVar28") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar22 != 0) {\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar22 != 0)" (( "(") (binary_expression "iVar22 != 0" (identifier "iVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);\n      return;\n    }" ({ "{") (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4)" (* "*") (cast_expression "(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x99780) + 0x7bc4)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x99780) + 0x7bc4" (pointer_expression "*(int *)(pcVar33 + 0x99780)" (* "*") (cast_expression "(int *)(pcVar33 + 0x99780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x99780)" (( "(") (binary_expression "pcVar33 + 0x99780" (identifier "pcVar33") (+ "+") (number_literal "0x99780")) () ")")))) (+ "+") (number_literal "0x7bc4")) () ")")))) () ")")) (argument_list "(iVar4,iVar22)" (( "(") (identifier "iVar4") (, ",") (identifier "iVar22") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) 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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (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: (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: (primitive_type) declarator: (pointer_declarator 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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (primitive_type) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (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 (identifier))) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement))) (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: (binary_expression left: (identifier) right: (number_literal)))) (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) 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: (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: (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: (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))))))) (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: (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: (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)))))) 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: (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)))))) arguments: (argument_list (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))))) (pointer_expression argument: (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) (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))))) (identifier)))) (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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (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: (number_literal))) (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)))) 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: (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: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (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))))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (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: (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: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) consequence: (break_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: (identifier)))) condition: (parenthesized_expression (binary_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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))) 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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) 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: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (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: (type_identifier)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) consequence: (break_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)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (parenthesized_expression (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) 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)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) 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 (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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: (binary_expression left: (identifier) right: (number_literal)))))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (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: (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: (cast_expression type: (type_descriptor type: (primitive_type) 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 (call_expression function: (identifier) arguments: (argument_list (identifier) (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))))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (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 (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement))) (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 (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: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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 (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))) (if_statement condition: (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: (char_literal (character)))) consequence: (compound_statement (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: (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)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (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: (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)))))) 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))))))) (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) 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: (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: (identifier))) (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: (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: (identifier) 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (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))))) (identifier) (identifier) (identifier) (pointer_expression argument: (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: (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: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (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))))) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (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))))) (number_literal)))) (if_statement condition: (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))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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))))) (identifier)))) (expression_statement (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: (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)))))) arguments: (argument_list (identifier) (identifier) (number_literal)))))) (if_statement condition: (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))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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))))) (identifier)))) (expression_statement (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: (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)))))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (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: (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)))))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (subscript_expression argument: (identifier) index: (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)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (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: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (number_literal) (number_literal))))) (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: (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) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (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 (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 (identifier) (identifier) (identifier) (number_literal) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (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: (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: (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: (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: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (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: (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: (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 (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (number_literal) (number_literal))))))) (if_statement condition: (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: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (number_literal) (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: (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)))))) arguments: (argument_list (identifier) (identifier) (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: (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)))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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: (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)))))) arguments: (argument_list (identifier) (identifier) (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: (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)))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (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: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (identifier) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (character)))) consequence: (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 (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier)))) alternative: (else_clause (compound_statement (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: (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: (identifier)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (number_literal) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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: (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: (binary_expression left: (identifier) right: (number_literal))))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) 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))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (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: (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)))))) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) 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: (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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: (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: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (character)))) consequence: (compound_statement (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: (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: (goto_statement label: (statement_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: (compound_statement (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: (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)))))) (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: (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: (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))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (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: (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: (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))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_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: (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: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (compound_statement (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: (compound_statement (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: (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)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (character)))) consequence: (compound_statement (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: (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: (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: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (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: (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: (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)))))) (goto_statement label: (statement_identifier)))) (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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (char_literal (character)))))) (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: (pointer_expression argument: (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: (compound_statement (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: (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: (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)))))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (identifier)) (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))))) (identifier))))) (expression_statement (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: (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)))))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (identifier)) (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))))) (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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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 (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier)))) alternative: (else_clause (compound_statement (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: (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: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (char_literal (character)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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 (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier)))) alternative: (else_clause (compound_statement (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: (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: (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (number_literal) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (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))))) (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: (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: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier)))) alternative: (else_clause (compound_statement (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: (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: (identifier))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (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: (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)))))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal) (identifier) (number_literal))))) (if_statement condition: (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))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (identifier) (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: (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)))))) 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))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (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))))) (identifier))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (identifier) (binary_expression left: (identifier) 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: (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)))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (number_literal)))) (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (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: (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: (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)))))) 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 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (false)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) 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: (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: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal)))) (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: (identifier))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (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))))) (identifier) (identifier) (identifier) (pointer_expression argument: (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: (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: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (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 (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 (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (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))))) (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: (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)))))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (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)))))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (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: (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))))))) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (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))))))) alternative: (else_clause (compound_statement (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (character)))) consequence: (compound_statement (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)))))))) (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (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: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (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: (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)))))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (do_statement body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (binary_expression left: (identifier) right: (identifier))))) (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 (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (identifier))))) (expression_statement (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: (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)))))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (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: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (number_literal) (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (character)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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 (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier)))) alternative: (else_clause (compound_statement (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: (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: (identifier))))))))) 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: (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))))))))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (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: (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)))))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal) (identifier) (identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (number_literal) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (number_literal) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (number_literal) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (number_literal) (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))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) 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: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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)))) (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement)))) 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: (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)))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)))))) arguments: (argument_list (identifier) (identifier)))) (return_statement)))))) (return_statement))))

void MASKED(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3,undefined1 *param_4)

{
  ushort uVar1;
  bool bVar2;
  undefined *puVar3;
  int iVar4;
  short sVar13;
  undefined1 *puVar5;
  int iVar6;
  undefined4 uVar7;
  char cVar14;
  undefined4 uVar8;
  undefined4 uVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  uint uVar15;
  uint uVar16;
  undefined1 *puVar17;
  undefined1 *puVar18;
  undefined1 *puVar19;
  undefined1 *puVar20;
  undefined1 *puVar21;
  int iVar22;
  int iVar23;
  undefined1 *puVar24;
  int iVar25;
  int *piVar26;
  int *piVar27;
  int unaff_s4;
  code *unaff_s5;
  int iVar28;
  int *piVar29;
  undefined1 *unaff_s6;
  int *piVar30;
  undefined1 *unaff_s7;
  int iVar31;
  undefined *puVar32;
  code *pcVar33;
  int unaff_s8;
  int iVar34;
  code *pcVar35;
  code *pcVar36;
  int iStack_f8;
  code *pcStack_f4;
  int iStack_f0;
  int iStack_e8;
  code *pcStack_e4;
  int *piStack_e0;
  undefined4 uStack_c8;
  int iStack_c4;
  undefined1 *puStack_c0;
  undefined1 *puStack_bc;
  undefined1 *puStack_b8;
  int *piStack_b4;
  int iStack_b0;
  code *pcStack_ac;
  undefined1 *puStack_a8;
  undefined1 *puStack_a4;
  int iStack_a0;
  code *pcStack_9c;
  undefined1 *puStack_8c;
  int iStack_88;
  undefined *puStack_80;
  undefined1 *puStack_78;
  int iStack_74;
  undefined *puStack_70;
  undefined1 *puStack_6c;
  undefined1 *puStack_68;
  undefined1 auStack_30 [4];
  undefined *local_2c;
  undefined *local_28;
  char local_1c;
  undefined4 local_18;
  int local_14;
  
  puVar3 = PTR___stack_chk_guard_0015ba2c;
  local_14 = *(int *)PTR___stack_chk_guard_0015ba2c;
  puVar17 = param_1;
  puVar20 = param_2;
  if (param_1[0x17] == '\0') {
LAB_000c042c:
    FUN_000c02d8();
  }
  else {
    local_18 = 0;
    local_1c = '\x02';
    local_2c = PTR_LAB_0015b6d8 + 0x7abc;
    local_28 = PTR_LAB_0015b65c + -0xbec;
    if ((param_2 != (undefined1 *)0x0) &&
       ((*(code *)(PTR_LAB_0015b6d8 + 0x6e6c))(auStack_30), local_1c == '\0')) goto LAB_000c042c;
    (*(code *)(PTR_LAB_0015b714 + 0x1c50))();
  }
  if (local_14 == *(int *)puVar3) {
    return;
  }
  puVar32 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  puStack_80 = puVar32 + 0xa3120;
  puStack_70 = puVar3;
  piVar26 = *(int **)(puVar32 + 0x9b59c);
  iStack_74 = *piVar26;
  puVar18 = puVar17;
  puVar21 = puVar20;
  puVar24 = param_3;
  puStack_c0 = puVar3;
  puStack_b8 = param_2;
  puStack_6c = param_1;
  puStack_68 = param_2;
  if ((*(int *)(puVar20 + 0xc) == 0) &&
     (unaff_s4 = *(int *)(puVar20 + 0x3c), puStack_c0 = puVar20, unaff_s4 != 0)) {
    param_1 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 1);
    *(undefined1 **)(puVar17 + 0x2c) = param_1;
    *(undefined1 **)(puVar20 + 0xc) = param_1;
    unaff_s6 = *(undefined1 **)(puVar17 + 8);
    if (unaff_s6 == (undefined1 *)0x0) {
      unaff_s6 = (undefined1 *)(*(code *)(*(int *)(puVar32 + 0x9b280) + -0x371c))();
    }
    iVar4 = (*(code *)(*(int *)(puStack_80 + -0x7ed8) + 0x7cb0))
                      (*(undefined4 *)(unaff_s4 + 0xc),&puStack_78);
    puVar18 = unaff_s6;
    if (iVar4 == 0) {
      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0xc),param_1);
      iStack_88 = 0;
      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);
      (*unaff_s5)(unaff_s6,0xf,param_1,0);
      puVar21 = (undefined1 *)0x14;
      iStack_88 = 0;
      puVar24 = param_1;
      param_4 = param_3;
      (*unaff_s5)();
    }
    else {
      puVar21 = (undefined1 *)0x46;
      iStack_88 = 0;
      unaff_s5 = (code *)(*(int *)(puStack_80 + -0x7ea0) + -0x3890);
      puVar24 = puStack_78;
      param_4 = param_1;
      (*unaff_s5)();
      if (puStack_78 == (undefined1 *)0x0) {
        puVar24 = (undefined1 *)0x0;
        iStack_88 = 0;
        puVar21 = &DAT_0000000b;
        puVar18 = unaff_s6;
        param_4 = param_3;
        (*unaff_s5)();
      }
      else if (-1 < (int)puStack_78) {
        puVar21 = (undefined1 *)(int)*(short *)(puVar20 + 6);
        puVar24 = (undefined1 *)((int)puStack_78 >> 0x1f);
        if ((int)puStack_78 < 8) {
          sVar13 = 0x1e;
          puVar5 = puVar24;
          puVar19 = puStack_78;
          if (puStack_78 == (undefined1 *)0x1) {
            sVar13 = 0;
            if (0 < (int)puVar21) {
              uVar16 = *(uint *)(puVar20 + 8);
              goto LAB_000c0614;
            }
          }
          else {
            do {
              puVar18 = (undefined1 *)((int)puVar19 << 1);
              sVar13 = sVar13 + -10;
              if ((int)puVar19 < 0 || ((uint)puVar5 & 0x7fffffff) != 0) break;
              puVar5 = (undefined1 *)0x0;
              puVar19 = puVar18;
            } while (puVar18 < &DAT_00000008);
            param_4 = (undefined1 *)(*(int *)(puStack_80 + -0x7fb4) + 0x2c20);
            puVar21 = (undefined1 *)
                      (uint)((int)(short)(sVar13 + *(short *)(param_4 + ((uint)puVar18 & 7) * 2)) <
                            (int)puVar21);
            if (puVar21 != (undefined1 *)0x0) {
              puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f);
              sVar13 = 0x1e;
              while( true ) {
                puStack_78 = (undefined1 *)((int)puStack_78 << 1);
                puVar24 = (undefined1 *)((uint)puVar21 | (int)puVar24 << 1);
                if ((puVar24 != (undefined1 *)0x0) ||
                   (puVar21 = (undefined1 *)((uint)puStack_78 >> 0x1f), &DAT_00000007 < puStack_78))
                break;
                puVar24 = (undefined1 *)0x0;
                sVar13 = sVar13 + -10;
              }
              puVar18 = (undefined1 *)(uint)*(ushort *)(param_4 + ((uint)puStack_78 & 7) * 2);
              goto LAB_000c0604;
            }
          }
        }
        else {
          if ((int)puStack_78 < 0) {
            iVar4 = LZCOUNT(puVar24);
          }
          else {
            iVar4 = LZCOUNT(puStack_78) + 0x20;
          }
          uVar15 = 0x3c - iVar4;
          param_4 = (undefined1 *)(((int)puVar24 << 1) << (~uVar15 & 0x1f));
          uVar16 = (uint)param_4 | (uint)puStack_78 >> (uVar15 & 0x1f);
          if ((uVar15 & 0x20) != 0) {
            uVar16 = (uint)puVar24 >> (uVar15 & 0x1f);
          }
          puVar24 = (undefined1 *)((uVar15 * 10 & 0xffff) + 0x1e);
          uVar1 = *(ushort *)((uVar16 & 7) * 2 + *(int *)(puStack_80 + -0x7fb4) + 0x2c20);
          puVar18 = (undefined1 *)(uint)uVar1;
          sVar13 = (short)(uVar15 * 10) + 0x28;
          puVar21 = (undefined1 *)(uint)((int)(short)(uVar1 + (short)puVar24) < (int)puVar21);
          if (puVar21 != (undefined1 *)0x0) {
LAB_000c0604:
            sVar13 = (short)puVar18 + sVar13 + -10;
            uVar16 = *(uint *)(puVar20 + 8);
LAB_000c0614:
            *(short *)(puVar20 + 6) = sVar13;
            *(uint *)(puVar20 + 8) = uVar16 | 0x4000;
          }
        }
      }
    }
    puStack_b8 = puVar17;
    unaff_s7 = param_3;
    if (*(int *)(unaff_s4 + 0x10) != 0) {
      unaff_s8 = *(int *)(puVar17 + 0x2c) + 1;
      unaff_s7 = (undefined1 *)(*(int *)(puVar17 + 0x2c) + 2);
      *(int *)(puVar20 + 0x10) = unaff_s8;
      *(undefined1 **)(puVar17 + 0x2c) = unaff_s7;
      FUN_000c02d8(puVar17,*(undefined4 *)(unaff_s4 + 0x10),unaff_s8);
      iStack_88 = 0;
      (*unaff_s5)(unaff_s6,0xf,unaff_s8,0);
      puVar21 = (undefined1 *)0x98;
      puVar18 = unaff_s6;
      puVar24 = param_1;
      param_4 = unaff_s7;
      iStack_88 = unaff_s8;
      (*unaff_s5)();
    }
  }
  if (iStack_74 == *piVar26) {
    return;
  }
  pcVar33 = *(code **)(puStack_80 + -0x7ba0);
  pcVar36 = FUN_000c082c;
  (*pcVar33)();
  piVar30 = *(int **)(pcVar33 + 0x9b200);
  iVar4 = *(int *)(puVar21 + 0x44);
  iStack_c4 = *piVar30;
  uVar16 = *(uint *)(iVar4 + 0xc) & 0xffff00;
  puStack_bc = param_1;
  piStack_b4 = piVar26;
  iStack_b0 = unaff_s4;
  pcStack_ac = unaff_s5;
  puStack_a8 = unaff_s6;
  puStack_a4 = unaff_s7;
  iStack_a0 = unaff_s8;
  pcStack_9c = pcVar36;
  puStack_8c = param_4;
  if (*(char *)(iVar4 + 0xc) == 'L') {
    if ((uVar16 == 0x575200) && (iVar22 = *(int *)(pcVar33 + 0x9ae68), *(int *)(iVar4 + 8) != 0))
    goto LAB_000c08b4;
    piVar26 = *(int **)(puVar18 + 8);
    if (piVar26 == (int *)0x0) {
      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);
    }
    iVar31 = *(int *)(puVar18 + 0x28);
    iVar22 = *(int *)(puVar18 + 0x2c);
    iVar23 = *(int *)(pcVar33 + 0x9aee8);
    iVar6 = iVar22 + 3;
    iVar34 = *(int *)(puVar18 + 0x38) + -2;
    *(int *)(puVar18 + 0x28) = iVar31 + 2;
    iVar25 = *(int *)(puVar18 + 0x38) + -1;
    iVar28 = iVar22 + 1;
    *(int *)(puVar18 + 0x2c) = iVar6;
    *(int *)(puVar18 + 0x38) = iVar34;
    iVar22 = iVar22 + 2;
    iVar12 = iVar31 + 1;
    uStack_c8 = 0;
    (*(code *)(iVar23 + -0x7e94))
              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar25,
               &uStack_c8);
    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);
    pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3c14);
    (*pcVar35)(piVar26,iVar25);
    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 3,0);
    (*pcVar36)(piVar26,0x6f,iVar31,*(undefined4 *)(iVar4 + 0x24),0);
    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);
    if (*(int *)(iVar4 + 0x10) != 0) {
      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x10),iVar22);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar22,0);
    }
    if (*(int *)(iVar4 + 0x14) != 0) {
      FUN_000c02d8(puVar18,*(int *)(iVar4 + 0x14),iVar6);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2920))(puVar18,iVar6,1);
      if ((*(int *)(iVar4 + 0x14) != 0) && (*(char *)(iVar4 + 0xd) == 'S')) {
        (*pcVar36)(piVar26,0x39,iVar22,piVar26[0x1b] + 2,iVar6);
        (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);
        (*pcVar36)(piVar26,0x61,iVar22,iVar6,iVar6);
      }
    }
    if ((*(int *)(iVar4 + 0x10) != 0) && (*(char *)(iVar4 + 0xe) == 'U')) {
      (*pcVar36)(piVar26,0x37,iVar22,piVar26[0x1b] + 3,iVar6);
      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar22,0);
      (*pcVar36)(piVar26,0x4e,uStack_c8,iVar6,0);
    }
    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);
    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar34,0);
    (*pcVar36)(piVar26,0x24,iVar31,iVar34,0);
    if (0 < piVar26[0x1b]) {
      *(undefined2 *)(piVar26[0x1a] + piVar26[0x1b] * 0x14 + -0x12) = 1;
    }
    (*pcVar36)(piVar26,0x24,iVar12,iVar34,0);
    iVar23 = piVar26[0x1b];
    if (0 < iVar23) {
      *(undefined2 *)(piVar26[0x1a] + iVar23 * 0x14 + -0x12) = 1;
      iVar23 = piVar26[0x1b];
    }
    if (*(char *)(iVar4 + 0xe) == 'U') {
      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);
      iVar25 = piVar26[0x1b];
    }
    else {
      iStack_e8 = 0;
      iVar25 = iVar23;
    }
    (*pcVar36)(piVar26,5,iVar12,iVar25 + 2,0);
    iVar25 = (*pcVar36)(piVar26,0xb,0,0,0);
    iVar10 = *(int *)(pcVar33 + 0x9aee8);
    (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);
    if (*(char *)(iVar4 + 0xe) == 'W') {
      (*pcVar36)(piVar26,0xb,0,iVar23,0);
      iVar23 = piVar26[0x1b];
      if (iVar25 < 0) {
        iVar25 = iVar23 + -1;
      }
      if (*(char *)(*piVar26 + 0x51) == '\0') {
        *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar23;
        cVar14 = *(char *)(iVar4 + 0xe);
      }
      else {
        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar23;
        cVar14 = *(char *)(iVar4 + 0xe);
      }
    }
    else {
      iVar12 = piVar26[0x1b];
      if (iVar25 < 0) {
        iVar25 = iVar12 + -1;
      }
      if (*(char *)(*piVar26 + 0x51) == '\0') {
        iVar25 = piVar26[0x1a] + iVar25 * 0x14;
      }
      else {
        iVar25 = *(int *)(pcVar33 + 0x9adac) + -0x4514;
      }
      *(int *)(iVar25 + 8) = iVar12;
      cVar14 = *(char *)(iVar4 + 0xe);
      if (cVar14 == 'U') {
        iVar25 = iVar12 + -1;
        if (-1 < iStack_e8) {
          iVar25 = iStack_e8;
        }
        if (*(char *)(*piVar26 + 0x51) == '\0') {
          *(int *)(piVar26[0x1a] + iVar25 * 0x14 + 8) = iVar12;
          cVar14 = *(char *)(iVar4 + 0xe);
        }
        else {
          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;
          cVar14 = *(char *)(iVar4 + 0xe);
        }
      }
    }
    if (cVar14 == 'S') {
      iStack_e8 = (*pcVar36)(piVar26,0x2f,iVar6,0,1);
    }
    if (*(char *)(iVar4 + 0xd) == 'S') {
      iVar6 = (*pcVar36)(piVar26,0x2f,iVar22,0,1);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);
      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);
      (*pcVar36)(piVar26,0xb,0,iVar34,0);
      uVar16 = (uint)*(byte *)(iVar4 + 0xd);
      if (uVar16 == 0x53) {
        iVar12 = piVar26[0x1b];
        if (iVar6 < 0) {
          iVar6 = iVar12 + -1;
        }
        goto LAB_000c1d20;
      }
    }
    else {
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764))(puVar18,iVar4,0);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2524))(puVar18,iVar4,puStack_8c,iStack_88);
      (*pcVar36)(piVar26,5,*(undefined4 *)(iVar4 + 0x24),piVar26[0x1b] + 2,0);
      (*pcVar36)(piVar26,0xb,0,iVar34,0);
      uVar16 = (uint)*(byte *)(iVar4 + 0xd);
      if (uVar16 == 0x53) {
        iVar12 = piVar26[0x1b];
        iVar6 = 0;
LAB_000c1d20:
        if (*(char *)(*piVar26 + 0x51) == '\0') {
          *(int *)(piVar26[0x1a] + iVar6 * 0x14 + 8) = iVar12;
          uVar16 = (uint)*(byte *)(iVar4 + 0xd);
        }
        else {
          *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar12;
          uVar16 = (uint)*(byte *)(iVar4 + 0xd);
        }
      }
    }
    if ((uVar16 - 0x52 < 2) || (uVar16 == 0x55)) {
      iVar6 = *(int *)(puVar18 + 0x38) + -1;
      *(int *)(puVar18 + 0x38) = iVar6;
      cVar14 = *(char *)(iVar4 + 0xd);
      if (cVar14 == 'U') {
        (*pcVar36)(piVar26,0x2f,iVar22,iVar6,1);
        cVar14 = *(char *)(iVar4 + 0xd);
      }
      if (cVar14 == 'S') {
        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 2,0);
        (*pcVar36)(piVar26,0xb,0,iVar6,0);
      }
      else {
        (*pcVar36)(piVar26,5,iVar31,piVar26[0x1b] + 1,0);
      }
      (*(code *)(iVar10 + -0x7af4))(puVar18,iVar4,iVar31,1,uVar7,uStack_c8);
      (*pcVar35)(piVar26,iVar6);
    }
    if (*(char *)(iVar4 + 0xe) == 'S') {
      iVar22 = piVar26[0x1b];
      if (iStack_e8 < 0) {
        iStack_e8 = iVar22 + -1;
      }
      if (*(char *)(*piVar26 + 0x51) == '\0') {
        *(int *)(piVar26[0x1a] + iStack_e8 * 0x14 + 8) = iVar22;
      }
      else {
        *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;
      }
    }
    (*pcVar36)(piVar26,0xb,0,iVar23,0);
    (*pcVar35)(piVar26,iVar34);
    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);
  }
  else {
    iVar22 = *(int *)(pcVar33 + 0x9ae68);
    if (uVar16 != 0x525700) {
LAB_000c08b4:
      iVar28 = iVar4;
      do {
        if (((((*(uint *)(*(int *)(iVar28 + 0x20) + 4) & 0x20000) != 0) ||
             (iVar6 = *(int *)(*(int *)(iVar28 + 0x20) + 0x20), iVar6 == iVar22 + -0x7df4)) ||
            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e00)) ||
           ((iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e08 ||
            (iVar6 == *(int *)(pcVar33 + 0x9ae68) + -0x7e0c)))) goto LAB_000c0c60;
        iVar28 = *(int *)(iVar28 + 0x18);
      } while (iVar28 != 0);
      piVar27 = *(int **)(puVar18 + 8);
      if (piVar27 == (int *)0x0) {
        piVar27 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);
      }
      piVar26 = *(int **)(iVar4 + 4);
      iVar6 = *(int *)(puVar18 + 0x2c) + 1;
      uVar7 = *(undefined4 *)(*(int *)(puVar21 + 0x20) + 0x30);
      iVar31 = (int)*(short *)(*(int *)(*(int *)(puVar21 + 0x20) + 0x18) + 0x2a);
      iVar22 = iVar31 + iVar6;
      iVar28 = iVar31 + 2 + *(int *)(puVar18 + 0x2c);
      if (*(char *)(iVar4 + 0xe) == 'W') {
        *(int *)(puVar18 + 0x2c) = iVar28;
        piVar29 = (int *)0x0;
        if (0 < iVar31) goto LAB_000c0980;
        if (piVar26 != (int *)0x0) {
          iStack_e8 = *piVar26;
          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
          goto LAB_000c09d4;
        }
        pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
      }
      else {
        piVar29 = *(int **)(iVar4 + 8);
        *(int *)(puVar18 + 0x2c) = iVar28;
        if (iVar31 < 1) {
          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
        }
        else {
LAB_000c0980:
          pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
          iVar28 = 0;
          do {
            iVar34 = iVar28 + 1;
            (*pcVar36)(piVar27,0x5a,uVar7,iVar28,iVar6 + iVar28);
            iVar28 = iVar34;
          } while (iVar34 < iVar31);
        }
        if (piVar26 == (int *)0x0) {
          if (piVar29 == (int *)0x0) {
            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
            goto LAB_000c0b50;
          }
          iVar28 = *piVar29;
          iStack_f8 = iVar28;
          if (*(char *)(iVar4 + 0xc) == 'V') {
            iVar31 = 0;
            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);
            iVar34 = *(int *)(iVar4 + 0x38);
            iStack_e8 = iVar6 + *(int *)(iVar4 + 0x40);
            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);
            goto LAB_000c1e74;
          }
          iVar28 = 0;
          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
          (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');
          iVar31 = piVar27[0x1b];
        }
        else {
          iStack_e8 = *piVar26;
          if (piVar29 == (int *)0x0) {
LAB_000c09d4:
            iVar28 = *(int *)(iVar4 + 0x40);
            uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar26,0,0);
            iVar28 = (*pcVar36)(piVar27,0x57,iVar6 + iVar28,*(undefined4 *)(iVar4 + 0x38),iStack_e8)
            ;
            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar27,uVar7,0xfffffff7);
            iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);
            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
            (*pcVar35)(puVar18,iVar4,1);
            iStack_f8 = iStack_e8;
          }
          else {
            iVar31 = *(int *)(iVar4 + 0x40);
            pcStack_e4 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4);
            iVar28 = *piVar29;
            uVar7 = (*pcStack_e4)(puVar18,piVar26,0,0);
            iVar31 = (*pcVar36)(piVar27,0x57,iVar6 + iVar31,*(undefined4 *)(iVar4 + 0x38),iStack_e8)
            ;
            pcStack_f4 = (code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958);
            (*pcStack_f4)(piVar27,uVar7,0xfffffff7);
            iVar12 = (*pcVar36)(piVar27,0x10,iVar31 + 2,0,iVar31 + 2);
            pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2764);
            (*pcVar35)(puVar18,iVar4,1);
            iVar31 = (*pcVar36)(piVar27,0xb,0,0,0);
            iVar23 = *(int *)(iVar4 + 0x40);
            iVar34 = *(int *)(iVar4 + 0x38);
            if (iVar12 != 0) {
              iVar25 = piVar27[0x1b];
              if (iVar12 < 0) {
                iVar12 = iVar25 + -1;
              }
              if (*(char *)(*piVar27 + 0x51) == '\0') {
                *(int *)(piVar27[0x1a] + iVar12 * 0x14 + 8) = iVar25;
              }
              else {
                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar25;
              }
            }
            iStack_f8 = iStack_e8 + iVar28;
            if (*(char *)(iVar4 + 0xc) == 'V') {
              iVar34 = iStack_e8 + iVar34;
              iStack_e8 = iVar6 + iVar23 + iStack_e8;
LAB_000c1e74:
              uVar7 = (*pcStack_e4)(puVar18,piVar29,0,0);
              iVar28 = (*pcVar36)(piVar27,0x57,iStack_e8,iVar34,iVar28);
              (*pcStack_f4)(piVar27,uVar7,0xfffffff7);
              iVar28 = (*pcVar36)(piVar27,0x10,iVar28 + 2,0,iVar28 + 2);
            }
            else {
              iVar28 = 0;
            }
            (*pcVar35)(puVar18,iVar4,*(char *)(iVar4 + 0xd) == 'R');
            if (iVar31 != 0) {
              iVar34 = piVar27[0x1b];
              if (iVar31 < 0) {
                iVar31 = iVar34 + -1;
              }
              if (*(char *)(*piVar27 + 0x51) == '\0') {
                *(int *)(piVar27[0x1a] + iVar31 * 0x14 + 8) = iVar34;
              }
              else {
                *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar34;
              }
            }
          }
          iVar31 = piVar27[0x1b];
        }
        (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),iVar31 + 3,0);
        (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);
        (*pcVar36)(piVar27,5,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + -1,0);
        (*pcVar36)(piVar27,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);
        (*pcVar36)(piVar27,0x4e,iVar6 + *(int *)(iVar4 + 0x40),*(undefined4 *)(iVar4 + 0x38),
                   iStack_f8 + -1);
        if (iVar28 != 0) {
          iVar31 = piVar27[0x1b];
          if (iVar28 < 0) {
            iVar28 = iVar31 + -1;
          }
          if (*(char *)(*piVar27 + 0x51) == '\0') {
            *(int *)(piVar27[0x1a] + iVar28 * 0x14 + 8) = iVar31;
          }
          else {
            *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar31;
          }
        }
      }
LAB_000c0b50:
      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,0xffffffff,0,iVar6,0);
      if (*(int *)(iVar4 + 0x40) < 1) {
        (*pcVar36)(piVar27,0x4b,0,iVar22,0);
        (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))
                  (piVar27,*(int *)(pcVar33 + 0x9adbc) + 0x53f4,0);
      }
      else {
        (*pcVar36)(piVar27,0x66,iVar6,*(int *)(iVar4 + 0x40),iVar22);
      }
      (*pcVar36)(piVar27,0x79,*(undefined4 *)(iVar4 + 0x24),iVar22 + 1,0);
      (*pcVar36)(piVar27,0x7a,*(undefined4 *)(iVar4 + 0x24),iVar22,iVar22 + 1);
      (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x18cc))(puVar24);
      (*pcVar35)(puVar18,iVar4,1);
      (*pcVar36)(piVar27,0x24,*(undefined4 *)(iVar4 + 0x24),piVar27[0x1b] + 3,0);
      (*pcVar36)(piVar27,0xc,puStack_8c,iStack_88,0);
      iVar22 = 5;
      iVar28 = *(int *)(iVar4 + 0x24);
      (*pcVar36)(piVar27,5,iVar28,piVar27[0x1b] + -1,0);
      goto LAB_000c0f44;
    }
LAB_000c0c60:
    piVar26 = *(int **)(puVar18 + 8);
    if (piVar26 == (int *)0x0) {
      piVar26 = (int *)(*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x371c))(puVar18);
      piVar27 = *(int **)(iVar4 + 8);
      piStack_e0 = *(int **)(iVar4 + 4);
      if (piVar27 != (int *)0x0) goto LAB_000c0c7c;
LAB_000c1450:
      iStack_f0 = 0;
      bVar2 = false;
    }
    else {
      piStack_e0 = *(int **)(iVar4 + 4);
      piVar27 = *(int **)(iVar4 + 8);
      if (piVar27 == (int *)0x0) goto LAB_000c1450;
LAB_000c0c7c:
      iStack_f0 = *piVar27;
      bVar2 = (*(uint *)(iVar4 + 0xc) & 0xffff00) == 0x525700;
    }
    iVar22 = *(int *)(puVar18 + 0x2c);
    iVar12 = *(int *)(puVar18 + 0x28);
    iVar34 = *(int *)(pcVar33 + 0x9aee8);
    iVar6 = *(int *)(puVar18 + 0x38);
    iVar28 = iVar22 + iStack_f0;
    iVar23 = iVar28 + 2;
    iVar31 = iVar6 + -2;
    *(int *)(puVar18 + 0x28) = iVar12 + 1;
    iVar28 = iVar28 + 1;
    *(int *)(puVar18 + 0x38) = iVar31;
    *(int *)(puVar18 + 0x2c) = iVar23;
    iVar6 = iVar6 + -1;
    (*(code *)(iVar34 + -0x7e94))
              (puVar18,puVar21 + 0x20,*(undefined4 *)(puVar21 + 0x44),puVar24,iVar28,iVar31,
               &uStack_c8);
    pcVar36 = (code *)(*(int *)(pcVar33 + 0x9aee4) + -0x3890);
    iStack_f8 = (*pcVar36)(piVar26,0xb,0,0,0);
    iVar34 = *(int *)(pcVar33 + 0x9aee4);
    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar31);
    (*pcVar36)(piVar26,0x11,0,piVar26[0x1b] + 2,0);
    (*pcVar36)(piVar26,0x6f,iVar12,*(undefined4 *)(iVar4 + 0x24),0);
    uVar7 = (*(code *)(*(int *)(pcVar33 + 0x9aee4) + -0x2e00))(puVar18,iVar4);
    (*pcVar36)(piVar26,0x46,0,iVar23,0);
    (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);
    (*pcVar36)(piVar26,0x24,*(undefined4 *)(iVar4 + 0x24),iVar6,0);
    if (bVar2) {
      iVar31 = piVar26[0x1b];
      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);
      (*pcVar36)(piVar26,5,iVar12,iVar31,0);
      (*pcVar36)(piVar26,0x24,iVar12,iVar6,0);
      iStack_e8 = piVar26[0x1b];
      if (piVar27 != (int *)0x0) goto LAB_000c0e28;
      pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);
    }
    else {
      iStack_e8 = piVar26[0x1b];
      if (piVar27 == (int *)0x0) {
        pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);
      }
      else {
LAB_000c0e28:
        cVar14 = *(char *)(iVar4 + 0xd);
        uVar8 = uVar7;
        if (*(char *)(iVar4 + 0xe) == 'R') {
          if (*(char *)(iVar4 + 0xc) == 'V') {
LAB_000c1544:
            iVar31 = *(int *)(iVar4 + 0x40);
            if (piStack_e0 == (int *)0x0) {
              iVar25 = 0;
            }
            else {
              iVar25 = *piStack_e0;
              iVar31 = iVar31 + iVar25;
            }
            iVar25 = iVar25 + *(int *)(iVar4 + 0x38);
            uVar9 = (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7fc4))(puVar18,piVar27,0,0);
            iVar22 = iVar22 + 1;
            if (0 < iStack_f0) {
              iVar10 = iStack_f0 + iVar31;
              iVar11 = iVar22 - iVar31;
              do {
                (*pcVar36)(piVar26,0x5a,iVar12,iVar31,iVar11 + iVar31);
                iVar31 = iVar31 + 1;
              } while (iVar31 != iVar10);
            }
            iVar31 = (*pcVar36)(piVar26,0x57,iVar22,iVar25,iStack_f0);
            (*(code *)(*(int *)(pcVar33 + 0x9ae94) + -0x5958))(piVar26,uVar9,0xfffffff7);
            iVar31 = (*pcVar36)(piVar26,0x10,iVar31 + 2,0,iVar31 + 2);
            (*pcVar36)(piVar26,0x4e,iVar22,iVar25,iStack_f0 + -1);
            uVar9 = uStack_c8;
            if (cVar14 != 'R') {
              uVar8 = 0;
              uVar9 = 0;
            }
            goto LAB_000c14a0;
          }
          if (cVar14 == 'R') goto LAB_000c1494;
          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);
          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);
        }
        else if (cVar14 == 'R') {
          if (*(char *)(iVar4 + 0xc) == 'V') goto LAB_000c1544;
LAB_000c1494:
          iVar31 = 0;
          uVar9 = uStack_c8;
LAB_000c14a0:
          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);
          (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,uVar8,uVar9);
          if (iVar31 != 0) {
            iVar22 = piVar26[0x1b];
            if (iVar31 < 0) {
              iVar31 = iVar22 + -1;
            }
            if (*(char *)(*piVar26 + 0x51) == '\0') {
              *(int *)(piVar26[0x1a] + iVar31 * 0x14 + 8) = iVar22;
            }
            else {
              *(int *)(*(int *)(pcVar33 + 0x9adac) + -0x450c) = iVar22;
            }
          }
        }
        else {
          pcVar35 = (code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7508);
        }
        if (bVar2) goto LAB_000c0e5c;
      }
      (*(code *)(*(int *)(pcVar33 + 0x9aee8) + -0x7af4))(puVar18,iVar4,iVar12,0,uVar7,uStack_c8);
    }
LAB_000c0e5c:
    (*pcVar36)(piVar26,0x53,iVar23,1,0);
    (*pcVar36)(piVar26,5,iVar12,iStack_e8,0);
    (*pcVar35)(puVar18,iVar4,iVar23,puStack_8c,iStack_88,0,0);
    (*(code *)(iVar34 + -0x3c14))(piVar26,iVar6);
    (*pcVar36)(piVar26,0x8a,*(undefined4 *)(iVar4 + 0x24),0,0);
  }
  iVar22 = 0x42;
  (*pcVar36)(piVar26,0x42,iVar28,0,0);
  piVar27 = (int *)piVar26[0x1b];
  if (iStack_f8 < 0) {
    iStack_f8 = (int)piVar27 + -1;
  }
  if (*(char *)(*piVar26 + 0x51) == '\0') {
    iVar4 = piVar26[0x1a] + iStack_f8 * 0x14;
    iVar22 = iStack_f8;
  }
  else {
    iVar4 = *(int *)(pcVar33 + 0x9adac) + -0x4514;
  }
  *(int **)(iVar4 + 8) = piVar27;
LAB_000c0f44:
  if (iStack_c4 == *piVar30) {
    return;
  }
  pcVar33 = *(code **)(pcVar33 + 0x9b1e4);
  (*pcVar33)();
  iVar4 = *piVar27;
  if (iVar22 == 0) {
    if (*(char *)(iVar4 + 0x51) == '\0') {
      FUN_000c02d8();
      return;
    }
  }
  else {
    iVar22 = (*(code *)(*(int *)(pcVar33 + 0x997c0) + -0x271c))(iVar4);
    if (*(char *)(iVar4 + 0x51) == '\0') {
      FUN_000c02d8(piVar27,iVar22,iVar28);
    }
    if (iVar22 != 0) {
                    /* WARNING: Could not recover jumptable at 0x000c1fc0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)(*(int *)(pcVar33 + 0x99780) + 0x7bc4))(iVar4,iVar22);
      return;
    }
  }
  return;
}

