
char * GetMagicName(MagicInfo *magic_info)

{
  undefined *puVar1;
  int *piVar2;
  int *piVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  uint uVar7;
  char *pcVar8;
  undefined4 uVar9;
  undefined *puVar10;
  undefined *puVar11;
  int *piVar12;
  int iVar13;
  int *piVar14;
  int iVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  int iVar19;
  undefined *puVar20;
  code *pcVar21;
  int iStack_60;
  int iStack_5c;
  MagicInfo *pMStack_58;
  undefined *puStack_54;
  
  puVar1 = PTR_s_t_to_left_003a88e4;
  (*(code *)PTR_LogMagickEvent_003a91e0)
            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);
  if (magic_info == (MagicInfo *)0x0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,
               PTR_s_t_to_left_003a88e4 + -0x3640);
  }
  else if (magic_info->signature == 0xabacadab) {
    return magic_info->name;
  }
  puVar11 = puVar1 + -0x3988;
  puVar10 = PTR_s_t_to_left_003a88e4 + -0x391c;
  puVar20 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)(puVar10,puVar11,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);
  piVar2 = *(int **)(puVar20 + 0x29adb4);
  puStack_54 = puVar1;
  iStack_5c = *piVar2;
  if (puVar10 == (undefined *)0x0) {
    puVar10 = (undefined *)**(undefined4 **)(puVar20 + 0x29aa68);
  }
  pMStack_58 = magic_info;
  piVar3 = (int *)(**(code **)(puVar20 + 0x29a808))
                            (*(int *)(puVar20 + 0x29a46c) + 0x6c9c,&iStack_60,puVar11);
  if (piVar3 == (int *)0x0) {
    pcVar8 = (char *)0x0;
  }
  else {
    iVar4 = *(int *)(puVar20 + 0x29a468);
    if (0 < iStack_60) {
      iVar15 = 0;
      iVar17 = *(int *)(puVar20 + 0x29a470);
      iVar19 = *(int *)(puVar20 + 0x29a468);
      iVar13 = *(int *)(puVar20 + 0x29a4d4);
      iVar5 = *(int *)(puVar20 + 0x29a468);
      iVar6 = iStack_60;
      piVar12 = piVar3;
      iVar16 = 0;
      do {
        piVar14 = (int *)*piVar12;
        iVar18 = iVar16;
        if (piVar14[9] == 0) {
          iVar18 = *piVar14;
          if ((iVar16 == 0) ||
             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {
            if (iVar18 != 0) {
              (**(code **)(puVar20 + 0x29b0c8))
                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);
            }
            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);
            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);
            piVar14 = (int *)*piVar12;
            iVar18 = *piVar14;
          }
          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);
          iVar6 = *piVar12;
          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));
          if (uVar7 < 10) {
            do {
              uVar7 = uVar7 + 1;
              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);
            } while (uVar7 != 10);
            iVar6 = *piVar12;
          }
          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));
          if (*(char **)(*piVar12 + 8) != (char *)0x0) {
            uVar7 = (uint)**(char **)(*piVar12 + 8);
            if (uVar7 != 0) {
              iVar6 = 0;
              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();
              do {
                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {
                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);
                  iVar6 = iVar6 + 1;
                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);
                  if (uVar7 == 0) goto LAB_0010e688;
                }
                iVar6 = iVar6 + 1;
                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);
                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);
              } while (uVar7 != 0);
            }
          }
LAB_0010e688:
          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);
          iVar6 = iStack_60;
        }
        iVar15 = iVar15 + 1;
        piVar12 = piVar12 + 1;
        iVar16 = iVar18;
      } while (iVar15 < iVar6);
    }
    (**(code **)(puVar20 + 0x29b010))(puVar10);
    (**(code **)(puVar20 + 0x29ab44))(piVar3);
    pcVar8 = (char *)0x1;
  }
  if (iStack_5c == *piVar2) {
    return pcVar8;
  }
  pcVar21 = *(code **)(puVar20 + 0x29abe8);
  (*pcVar21)();
  iVar4 = *(int *)(pcVar21 + 0x29a13c);
  if (*(int *)(iVar4 + -0x507c) == 0) {
    uVar9 = (**(code **)(pcVar21 + 0x29ae9c))();
    *(undefined4 *)(iVar4 + -0x507c) = uVar9;
    return (char *)0x1;
  }
  return (char *)0x1;
}



undefined4 GetMagicName(int param_1)

{
  undefined *puVar1;
  int *piVar2;
  int *piVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  uint uVar7;
  undefined4 uVar8;
  undefined *puVar9;
  undefined *puVar10;
  int *piVar11;
  int iVar12;
  int *piVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  undefined *puVar19;
  code *pcVar20;
  int iStack_60;
  int iStack_5c;
  int iStack_58;
  undefined *puStack_54;
  
  puVar1 = PTR_s_t_to_left_003a88e4;
  (*(code *)PTR_LogMagickEvent_003a91e0)
            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,
               PTR_s_t_to_left_003a88e4 + -0x3640);
  }
  else if (*(int *)(param_1 + 0x28) == -0x54535255) {
    return *(undefined4 *)(param_1 + 4);
  }
  puVar10 = puVar1 + -0x3988;
  puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;
  puVar19 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);
  piVar2 = *(int **)(puVar19 + 0x29adb4);
  puStack_54 = puVar1;
  iStack_5c = *piVar2;
  if (puVar9 == (undefined *)0x0) {
    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);
  }
  iStack_58 = param_1;
  piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))
                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);
  if (piVar3 == (int *)0x0) {
    uVar8 = 0;
  }
  else {
    iVar4 = *(int *)(puVar19 + 0x29a468);
    if (0 < iStack_60) {
      iVar14 = 0;
      iVar16 = *(int *)(puVar19 + 0x29a470);
      iVar18 = *(int *)(puVar19 + 0x29a468);
      iVar12 = *(int *)(puVar19 + 0x29a4d4);
      iVar5 = *(int *)(puVar19 + 0x29a468);
      iVar6 = iStack_60;
      piVar11 = piVar3;
      iVar15 = 0;
      do {
        piVar13 = (int *)*piVar11;
        iVar17 = iVar15;
        if (piVar13[9] == 0) {
          iVar17 = *piVar13;
          if ((iVar15 == 0) ||
             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {
            if (iVar17 != 0) {
              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)
              ;
            }
            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);
            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);
            piVar13 = (int *)*piVar11;
            iVar17 = *piVar13;
          }
          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);
          iVar6 = *piVar11;
          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));
          if (uVar7 < 10) {
            do {
              uVar7 = uVar7 + 1;
              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);
            } while (uVar7 != 10);
            iVar6 = *piVar11;
          }
          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));
          if (*(char **)(*piVar11 + 8) != (char *)0x0) {
            uVar7 = (uint)**(char **)(*piVar11 + 8);
            if (uVar7 != 0) {
              iVar6 = 0;
              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();
              do {
                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {
                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);
                  iVar6 = iVar6 + 1;
                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);
                  if (uVar7 == 0) goto LAB_0010e688;
                }
                iVar6 = iVar6 + 1;
                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);
                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);
              } while (uVar7 != 0);
            }
          }
LAB_0010e688:
          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);
          iVar6 = iStack_60;
        }
        iVar14 = iVar14 + 1;
        piVar11 = piVar11 + 1;
        iVar15 = iVar17;
      } while (iVar14 < iVar6);
    }
    (**(code **)(puVar19 + 0x29b010))(puVar9);
    (**(code **)(puVar19 + 0x29ab44))(piVar3);
    uVar8 = 1;
  }
  if (iStack_5c == *piVar2) {
    return uVar8;
  }
  pcVar20 = *(code **)(puVar19 + 0x29abe8);
  (*pcVar20)();
  iVar4 = *(int *)(pcVar20 + 0x29a13c);
  if (*(int *)(iVar4 + -0x507c) == 0) {
    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();
    *(undefined4 *)(iVar4 + -0x507c) = uVar8;
    return 1;
  }
  return 1;
}


lui gp,0x2a
addiu gp,gp,0x24f4
addu gp,gp,t9
addiu sp,sp,-0x30
lw v0,-0x7fc8(gp)
lw a2,-0x7fcc(gp)
li a3,0x25e
lw t9,-0x76d0(gp)
sw s1,0x28(sp)
addiu v0,v0,-0x1fec
sw s0,0x24(sp)
addiu a2,a2,-0x3630
sw gp,0x18(sp)
or s0,a0,zero
sw ra,0x2c(sp)
ori a0,zero,0x8000
sw v0,0x10(sp)
lw s1,-0x7fcc(gp)
jalr t9
_addiu a1,s1,-0x3988
beq s0,zero,0x0010e43c
_lw gp,0x18(sp)
lui v0,0xabac
lw v1,0x28(s0)
ori v0,v0,0xadab
bne v1,v0,0x0010e45c
_lw ra,0x2c(sp)
lw v0,0x4(s0)
lw s1,0x28(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x30
lw a3,-0x7fcc(gp)
li a2,0x25f
lw a0,-0x7fcc(gp)
addiu a1,s1,-0x3988
lw t9,-0x72a8(gp)
addiu a3,a3,-0x3640
jalr t9
_addiu a0,a0,-0x3940
lw a3,-0x7fcc(gp)
li a2,0x260
lw a0,-0x7fcc(gp)
addiu a1,s1,-0x3988
lw t9,-0x72a8(gp)
addiu a3,a3,-0x3640
jalr t9
_addiu a0,a0,-0x391c
(translation_unit "undefined4 GetMagicName(int param_1)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int *piVar11;\n  int iVar12;\n  int *piVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined *puVar19;\n  code *pcVar20;\n  int iStack_60;\n  int iStack_5c;\n  int iStack_58;\n  undefined *puStack_54;\n  \n  puVar1 = PTR_s_t_to_left_003a88e4;\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }\n  puVar10 = puVar1 + -0x3988;\n  puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);\n  piVar2 = *(int **)(puVar19 + 0x29adb4);\n  puStack_54 = puVar1;\n  iStack_5c = *piVar2;\n  if (puVar9 == (undefined *)0x0) {\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }\n  iStack_58 = param_1;\n  piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);\n  if (piVar3 == (int *)0x0) {\n    uVar8 = 0;\n  }\n  else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }\n  if (iStack_5c == *piVar2) {\n    return uVar8;\n  }\n  pcVar20 = *(code **)(puVar19 + 0x29abe8);\n  (*pcVar20)();\n  iVar4 = *(int *)(pcVar20 + 0x29a13c);\n  if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }\n  return 1;\n}\n\n" (function_definition "undefined4 GetMagicName(int param_1)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int *piVar11;\n  int iVar12;\n  int *piVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined *puVar19;\n  code *pcVar20;\n  int iStack_60;\n  int iStack_5c;\n  int iStack_58;\n  undefined *puStack_54;\n  \n  puVar1 = PTR_s_t_to_left_003a88e4;\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }\n  puVar10 = puVar1 + -0x3988;\n  puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);\n  piVar2 = *(int **)(puVar19 + 0x29adb4);\n  puStack_54 = puVar1;\n  iStack_5c = *piVar2;\n  if (puVar9 == (undefined *)0x0) {\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }\n  iStack_58 = param_1;\n  piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);\n  if (piVar3 == (int *)0x0) {\n    uVar8 = 0;\n  }\n  else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }\n  if (iStack_5c == *piVar2) {\n    return uVar8;\n  }\n  pcVar20 = *(code **)(puVar19 + 0x29abe8);\n  (*pcVar20)();\n  iVar4 = *(int *)(pcVar20 + 0x29a13c);\n  if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }\n  return 1;\n}" type_identifier (function_declarator "GetMagicName(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int *piVar11;\n  int iVar12;\n  int *piVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined *puVar19;\n  code *pcVar20;\n  int iStack_60;\n  int iStack_5c;\n  int iStack_58;\n  undefined *puStack_54;\n  \n  puVar1 = PTR_s_t_to_left_003a88e4;\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }\n  puVar10 = puVar1 + -0x3988;\n  puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);\n  piVar2 = *(int **)(puVar19 + 0x29adb4);\n  puStack_54 = puVar1;\n  iStack_5c = *piVar2;\n  if (puVar9 == (undefined *)0x0) {\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }\n  iStack_58 = param_1;\n  piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);\n  if (piVar3 == (int *)0x0) {\n    uVar8 = 0;\n  }\n  else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }\n  if (iStack_5c == *piVar2) {\n    return uVar8;\n  }\n  pcVar20 = *(code **)(puVar19 + 0x29abe8);\n  (*pcVar20)();\n  iVar4 = *(int *)(pcVar20 + 0x29a13c);\n  if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }\n  return 1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "int iStack_60;" primitive_type identifier ;) (declaration "int iStack_5c;" primitive_type identifier ;) (declaration "int iStack_58;" primitive_type identifier ;) (declaration "undefined *puStack_54;" type_identifier (pointer_declarator "*puStack_54" * identifier) ;) (expression_statement "puVar1 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar1 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e)" ( number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3988" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3630" identifier + number_literal) , number_literal ))) ;) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3940" identifier + number_literal) , (binary_expression "puVar1 + -0x3988" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3640" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }" else (if_statement "if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x28) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x28) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return *(undefined4 *)(param_1 + 4);\n  }" { (return_statement "return *(undefined4 *)(param_1 + 4);" return (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) ;) })))) (expression_statement "puVar10 = puVar1 + -0x3988;" (assignment_expression "puVar10 = puVar1 + -0x3988" identifier = (binary_expression "puVar1 + -0x3988" identifier + number_literal)) ;) (expression_statement "puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;" (assignment_expression "puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x391c" identifier + number_literal)) ;) (expression_statement "puVar19 = PTR___assert_fail_003a9608;" (assignment_expression "puVar19 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640)" ( identifier , identifier , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3640" identifier + number_literal) ))) ;) (expression_statement "piVar2 = *(int **)(puVar19 + 0x29adb4);" (assignment_expression "piVar2 = *(int **)(puVar19 + 0x29adb4)" identifier = (pointer_expression "*(int **)(puVar19 + 0x29adb4)" * (cast_expression "(int **)(puVar19 + 0x29adb4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29adb4)" ( (binary_expression "puVar19 + 0x29adb4" identifier + number_literal) ))))) ;) (expression_statement "puStack_54 = puVar1;" (assignment_expression "puStack_54 = puVar1" identifier = identifier) ;) (expression_statement "iStack_5c = *piVar2;" (assignment_expression "iStack_5c = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (puVar9 == (undefined *)0x0) {\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }" if (parenthesized_expression "(puVar9 == (undefined *)0x0)" ( (binary_expression "puVar9 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }" { (expression_statement "puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);" (assignment_expression "puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68)" identifier = (cast_expression "(undefined *)**(undefined4 **)(puVar19 + 0x29aa68)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar19 + 0x29aa68)" * (pointer_expression "*(undefined4 **)(puVar19 + 0x29aa68)" * (cast_expression "(undefined4 **)(puVar19 + 0x29aa68)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29aa68)" ( (binary_expression "puVar19 + 0x29aa68" identifier + number_literal) ))))))) ;) })) (expression_statement "iStack_58 = param_1;" (assignment_expression "iStack_58 = param_1" identifier = identifier) ;) (expression_statement "piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);" (assignment_expression "piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" (parenthesized_expression "(**(code **)(puVar19 + 0x29a808))" ( (pointer_expression "**(code **)(puVar19 + 0x29a808)" * (pointer_expression "*(code **)(puVar19 + 0x29a808)" * (cast_expression "(code **)(puVar19 + 0x29a808)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29a808)" ( (binary_expression "puVar19 + 0x29a808" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" ( (binary_expression "*(int *)(puVar19 + 0x29a46c) + 0x6c9c" (pointer_expression "*(int *)(puVar19 + 0x29a46c)" * (cast_expression "(int *)(puVar19 + 0x29a46c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a46c)" ( (binary_expression "puVar19 + 0x29a46c" identifier + number_literal) )))) + number_literal) , (pointer_expression "&iStack_60" & identifier) , identifier ))))) ;) (if_statement "if (piVar3 == (int *)0x0) {\n    uVar8 = 0;\n  }\n  else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar8 = 0;\n  }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }" else (compound_statement "{\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }" { (expression_statement "iVar4 = *(int *)(puVar19 + 0x29a468);" (assignment_expression "iVar4 = *(int *)(puVar19 + 0x29a468)" identifier = (pointer_expression "*(int *)(puVar19 + 0x29a468)" * (cast_expression "(int *)(puVar19 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a468)" ( (binary_expression "puVar19 + 0x29a468" identifier + number_literal) ))))) ;) (if_statement "if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }" if (parenthesized_expression "(0 < iStack_60)" ( (binary_expression "0 < iStack_60" number_literal < identifier) )) (compound_statement "{\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = *(int *)(puVar19 + 0x29a470);" (assignment_expression "iVar16 = *(int *)(puVar19 + 0x29a470)" identifier = (pointer_expression "*(int *)(puVar19 + 0x29a470)" * (cast_expression "(int *)(puVar19 + 0x29a470)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a470)" ( (binary_expression "puVar19 + 0x29a470" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(puVar19 + 0x29a468);" (assignment_expression "iVar18 = *(int *)(puVar19 + 0x29a468)" identifier = (pointer_expression "*(int *)(puVar19 + 0x29a468)" * (cast_expression "(int *)(puVar19 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a468)" ( (binary_expression "puVar19 + 0x29a468" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(puVar19 + 0x29a4d4);" (assignment_expression "iVar12 = *(int *)(puVar19 + 0x29a4d4)" identifier = (pointer_expression "*(int *)(puVar19 + 0x29a4d4)" * (cast_expression "(int *)(puVar19 + 0x29a4d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a4d4)" ( (binary_expression "puVar19 + 0x29a4d4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar19 + 0x29a468);" (assignment_expression "iVar5 = *(int *)(puVar19 + 0x29a468)" identifier = (pointer_expression "*(int *)(puVar19 + 0x29a468)" * (cast_expression "(int *)(puVar19 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a468)" ( (binary_expression "puVar19 + 0x29a468" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iStack_60;" (assignment_expression "iVar6 = iStack_60" identifier = identifier) ;) (expression_statement "piVar11 = piVar3;" (assignment_expression "piVar11 = piVar3" identifier = identifier) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);" do (compound_statement "{\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      }" { (expression_statement "piVar13 = (int *)*piVar11;" (assignment_expression "piVar13 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) (expression_statement "iVar17 = iVar15;" (assignment_expression "iVar17 = iVar15" identifier = identifier) ;) (if_statement "if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }" if (parenthesized_expression "(piVar13[9] == 0)" ( (binary_expression "piVar13[9] == 0" (subscript_expression "piVar13[9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }" { (expression_statement "iVar17 = *piVar13;" (assignment_expression "iVar17 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (if_statement "if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }" if (parenthesized_expression "((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0))" ( (binary_expression "(iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)" (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)" ( (comma_expression "iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0" (assignment_expression "iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17)" identifier = (call_expression "(**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17)" (parenthesized_expression "(**(code **)(puVar19 + 0x29ac94))" ( (pointer_expression "**(code **)(puVar19 + 0x29ac94)" * (pointer_expression "*(code **)(puVar19 + 0x29ac94)" * (cast_expression "(code **)(puVar19 + 0x29ac94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29ac94)" ( (binary_expression "puVar19 + 0x29ac94" identifier + number_literal) ))))) )) (argument_list "(iVar15,iVar17)" ( identifier , identifier )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }" { (if_statement "if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }" { (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x29a464) + 0x4620" (pointer_expression "*(int *)(puVar19 + 0x29a464)" * (cast_expression "(int *)(puVar19 + 0x29a464)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a464)" ( (binary_expression "puVar19 + 0x29a464" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x29a468) + -0x38ec" (pointer_expression "*(int *)(puVar19 + 0x29a468)" * (cast_expression "(int *)(puVar19 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a468)" ( (binary_expression "puVar19 + 0x29a468" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x29a464) + 0x4644" (pointer_expression "*(int *)(puVar19 + 0x29a464)" * (cast_expression "(int *)(puVar19 + 0x29a464)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a464)" ( (binary_expression "puVar19 + 0x29a464" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar13 = (int *)*piVar11;" (assignment_expression "piVar13 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) (expression_statement "iVar17 = *piVar13;" (assignment_expression "iVar17 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) })) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1])" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,iVar4 + -0x62ac,piVar13[1])" ( identifier , (binary_expression "iVar4 + -0x62ac" identifier + number_literal) , (subscript_expression "piVar13[1]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar6 = *piVar11;" (assignment_expression "iVar6 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));" (assignment_expression "uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4))" identifier = (call_expression "(**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4))" (parenthesized_expression "(**(code **)(puVar19 + 0x29aebc))" ( (pointer_expression "**(code **)(puVar19 + 0x29aebc)" * (pointer_expression "*(code **)(puVar19 + 0x29aebc)" * (cast_expression "(code **)(puVar19 + 0x29aebc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29aebc)" ( (binary_expression "puVar19 + 0x29aebc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 4))" ( (pointer_expression "*(undefined4 *)(iVar6 + 4)" * (cast_expression "(undefined4 *)(iVar6 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) )))) ;) (if_statement "if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }" if (parenthesized_expression "(uVar7 < 10)" ( (binary_expression "uVar7 < 10" identifier < number_literal) )) (compound_statement "{\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }" { (do_statement "do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);" do (compound_statement "{\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            }" { (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,iVar12 + 0x2158)" ( identifier , (binary_expression "iVar12 + 0x2158" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(uVar7 != 10)" ( (binary_expression "uVar7 != 10" identifier != number_literal) )) ;) (expression_statement "iVar6 = *piVar11;" (assignment_expression "iVar6 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) })) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c))" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c))" ( identifier , (binary_expression "iVar5 + -0x38d0" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar6 + 0x1c)" * (cast_expression "(undefined4 *)(iVar6 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) ))) ;) (if_statement "if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }" if (parenthesized_expression "(*(char **)(*piVar11 + 8) != (char *)0x0)" ( (binary_expression "*(char **)(*piVar11 + 8) != (char *)0x0" (pointer_expression "*(char **)(*piVar11 + 8)" * (cast_expression "(char **)(*piVar11 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 8)" ( (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" * identifier) + number_literal) )))) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }" { (expression_statement "uVar7 = (uint)**(char **)(*piVar11 + 8);" (assignment_expression "uVar7 = (uint)**(char **)(*piVar11 + 8)" identifier = (binary_expression "(uint)**(char **)(*piVar11 + 8)" (parenthesized_expression "(uint)" ( identifier )) * (pointer_expression "*(char **)(*piVar11 + 8)" * (cast_expression "(char **)(*piVar11 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 8)" ( (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" * identifier) + number_literal) )))))) ;) (if_statement "if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();" (assignment_expression "piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))()" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x29afb8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x29afb8))()" (parenthesized_expression "(**(code **)(puVar19 + 0x29afb8))" ( (pointer_expression "**(code **)(puVar19 + 0x29afb8)" * (pointer_expression "*(code **)(puVar19 + 0x29afb8)" * (cast_expression "(code **)(puVar19 + 0x29afb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29afb8)" ( (binary_expression "puVar19 + 0x29afb8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (do_statement "do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);" do (compound_statement "{\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              }" { (while_statement "while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }" while (parenthesized_expression "((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0)" ( (binary_expression "(*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0" (parenthesized_expression "(*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40)" ( (binary_expression "*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40" (pointer_expression "*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2)" * (cast_expression "(ushort *)(*piVar13 + (uVar7 & 0xff) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar13 + (uVar7 & 0xff) * 2)" ( (binary_expression "*piVar13 + (uVar7 & 0xff) * 2" (pointer_expression "*piVar13" * identifier) + (binary_expression "(uVar7 & 0xff) * 2" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }" { (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,iVar18 + -0x38c8)" ( identifier , (binary_expression "iVar18 + -0x38c8" identifier + number_literal) ))) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);" (assignment_expression "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" identifier = (binary_expression "(uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(*(int *)(*piVar11 + 8) + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar11 + 8) + iVar6)" ( (binary_expression "*(int *)(*piVar11 + 8) + iVar6" (pointer_expression "*(int *)(*piVar11 + 8)" * (cast_expression "(int *)(*piVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar11 + 8)" ( (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" * identifier) + number_literal) )))) + identifier) ))))) ;) (if_statement "if (uVar7 == 0) goto LAB_0010e688;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010e688;" goto statement_identifier ;)) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,iVar16 + -0x690,uVar7)" ( identifier , (binary_expression "iVar16 + -0x690" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);" (assignment_expression "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" identifier = (binary_expression "(uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(*(int *)(*piVar11 + 8) + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar11 + 8) + iVar6)" ( (binary_expression "*(int *)(*piVar11 + 8) + iVar6" (pointer_expression "*(int *)(*piVar11 + 8)" * (cast_expression "(int *)(*piVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar11 + 8)" ( (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" * identifier) + number_literal) )))) + identifier) ))))) ;) }) while (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) ;) })) })) (labeled_statement "LAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);" statement_identifier : (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x29a470) + -0x4bdc" (pointer_expression "*(int *)(puVar19 + 0x29a470)" * (cast_expression "(int *)(puVar19 + 0x29a470)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a470)" ( (binary_expression "puVar19 + 0x29a470" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "iVar6 = iStack_60;" (assignment_expression "iVar6 = iStack_60" identifier = identifier) ;) })) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = iVar17;" (assignment_expression "iVar15 = iVar17" identifier = identifier) ;) }) while (parenthesized_expression "(iVar14 < iVar6)" ( (binary_expression "iVar14 < iVar6" identifier < identifier) )) ;) })) (expression_statement "(**(code **)(puVar19 + 0x29b010))(puVar9);" (call_expression "(**(code **)(puVar19 + 0x29b010))(puVar9)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b010))" ( (pointer_expression "**(code **)(puVar19 + 0x29b010)" * (pointer_expression "*(code **)(puVar19 + 0x29b010)" * (cast_expression "(code **)(puVar19 + 0x29b010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b010)" ( (binary_expression "puVar19 + 0x29b010" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar19 + 0x29ab44))(piVar3);" (call_expression "(**(code **)(puVar19 + 0x29ab44))(piVar3)" (parenthesized_expression "(**(code **)(puVar19 + 0x29ab44))" ( (pointer_expression "**(code **)(puVar19 + 0x29ab44)" * (pointer_expression "*(code **)(puVar19 + 0x29ab44)" * (cast_expression "(code **)(puVar19 + 0x29ab44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29ab44)" ( (binary_expression "puVar19 + 0x29ab44" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier ))) ;) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) }))) (if_statement "if (iStack_5c == *piVar2) {\n    return uVar8;\n  }" if (parenthesized_expression "(iStack_5c == *piVar2)" ( (binary_expression "iStack_5c == *piVar2" identifier == (pointer_expression "*piVar2" * identifier)) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) })) (expression_statement "pcVar20 = *(code **)(puVar19 + 0x29abe8);" (assignment_expression "pcVar20 = *(code **)(puVar19 + 0x29abe8)" identifier = (pointer_expression "*(code **)(puVar19 + 0x29abe8)" * (cast_expression "(code **)(puVar19 + 0x29abe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29abe8)" ( (binary_expression "puVar19 + 0x29abe8" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = *(int *)(pcVar20 + 0x29a13c);" (assignment_expression "iVar4 = *(int *)(pcVar20 + 0x29a13c)" identifier = (pointer_expression "*(int *)(pcVar20 + 0x29a13c)" * (cast_expression "(int *)(pcVar20 + 0x29a13c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x29a13c)" ( (binary_expression "pcVar20 + 0x29a13c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }" if (parenthesized_expression "(*(int *)(iVar4 + -0x507c) == 0)" ( (binary_expression "*(int *)(iVar4 + -0x507c) == 0" (pointer_expression "*(int *)(iVar4 + -0x507c)" * (cast_expression "(int *)(iVar4 + -0x507c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x507c)" ( (binary_expression "iVar4 + -0x507c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }" { (expression_statement "uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();" (assignment_expression "uVar8 = (**(code **)(pcVar20 + 0x29ae9c))()" identifier = (call_expression "(**(code **)(pcVar20 + 0x29ae9c))()" (parenthesized_expression "(**(code **)(pcVar20 + 0x29ae9c))" ( (pointer_expression "**(code **)(pcVar20 + 0x29ae9c)" * (pointer_expression "*(code **)(pcVar20 + 0x29ae9c)" * (cast_expression "(code **)(pcVar20 + 0x29ae9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x29ae9c)" ( (binary_expression "pcVar20 + 0x29ae9c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar4 + -0x507c) = uVar8;" (assignment_expression "*(undefined4 *)(iVar4 + -0x507c) = uVar8" (pointer_expression "*(undefined4 *)(iVar4 + -0x507c)" * (cast_expression "(undefined4 *)(iVar4 + -0x507c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x507c)" ( (binary_expression "iVar4 + -0x507c" identifier + number_literal) )))) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "char * GetMagicName(MagicInfo *magic_info)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  char *pcVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  int *piVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  int iStack_60;\n  int iStack_5c;\n  MagicInfo *pMStack_58;\n  undefined *puStack_54;\n  \n  puVar1 = PTR_s_t_to_left_003a88e4;\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);\n  if (magic_info == (MagicInfo *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (magic_info->signature == 0xabacadab) {\n    return magic_info->name;\n  }\n  puVar11 = puVar1 + -0x3988;\n  puVar10 = PTR_s_t_to_left_003a88e4 + -0x391c;\n  puVar20 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar10,puVar11,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);\n  piVar2 = *(int **)(puVar20 + 0x29adb4);\n  puStack_54 = puVar1;\n  iStack_5c = *piVar2;\n  if (puVar10 == (undefined *)0x0) {\n    puVar10 = (undefined *)**(undefined4 **)(puVar20 + 0x29aa68);\n  }\n  pMStack_58 = magic_info;\n  piVar3 = (int *)(**(code **)(puVar20 + 0x29a808))\n                            (*(int *)(puVar20 + 0x29a46c) + 0x6c9c,&iStack_60,puVar11);\n  if (piVar3 == (int *)0x0) {\n    pcVar8 = (char *)0x0;\n  }\n  else {\n    iVar4 = *(int *)(puVar20 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar15 = 0;\n      iVar17 = *(int *)(puVar20 + 0x29a470);\n      iVar19 = *(int *)(puVar20 + 0x29a468);\n      iVar13 = *(int *)(puVar20 + 0x29a4d4);\n      iVar5 = *(int *)(puVar20 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar12 = piVar3;\n      iVar16 = 0;\n      do {\n        piVar14 = (int *)*piVar12;\n        iVar18 = iVar16;\n        if (piVar14[9] == 0) {\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar15 = iVar15 + 1;\n        piVar12 = piVar12 + 1;\n        iVar16 = iVar18;\n      } while (iVar15 < iVar6);\n    }\n    (**(code **)(puVar20 + 0x29b010))(puVar10);\n    (**(code **)(puVar20 + 0x29ab44))(piVar3);\n    pcVar8 = (char *)0x1;\n  }\n  if (iStack_5c == *piVar2) {\n    return pcVar8;\n  }\n  pcVar21 = *(code **)(puVar20 + 0x29abe8);\n  (*pcVar21)();\n  iVar4 = *(int *)(pcVar21 + 0x29a13c);\n  if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar9 = (**(code **)(pcVar21 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar9;\n    return (char *)0x1;\n  }\n  return (char *)0x1;\n}\n\n" (function_definition "char * GetMagicName(MagicInfo *magic_info)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  char *pcVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  int *piVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  int iStack_60;\n  int iStack_5c;\n  MagicInfo *pMStack_58;\n  undefined *puStack_54;\n  \n  puVar1 = PTR_s_t_to_left_003a88e4;\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);\n  if (magic_info == (MagicInfo *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (magic_info->signature == 0xabacadab) {\n    return magic_info->name;\n  }\n  puVar11 = puVar1 + -0x3988;\n  puVar10 = PTR_s_t_to_left_003a88e4 + -0x391c;\n  puVar20 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar10,puVar11,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);\n  piVar2 = *(int **)(puVar20 + 0x29adb4);\n  puStack_54 = puVar1;\n  iStack_5c = *piVar2;\n  if (puVar10 == (undefined *)0x0) {\n    puVar10 = (undefined *)**(undefined4 **)(puVar20 + 0x29aa68);\n  }\n  pMStack_58 = magic_info;\n  piVar3 = (int *)(**(code **)(puVar20 + 0x29a808))\n                            (*(int *)(puVar20 + 0x29a46c) + 0x6c9c,&iStack_60,puVar11);\n  if (piVar3 == (int *)0x0) {\n    pcVar8 = (char *)0x0;\n  }\n  else {\n    iVar4 = *(int *)(puVar20 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar15 = 0;\n      iVar17 = *(int *)(puVar20 + 0x29a470);\n      iVar19 = *(int *)(puVar20 + 0x29a468);\n      iVar13 = *(int *)(puVar20 + 0x29a4d4);\n      iVar5 = *(int *)(puVar20 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar12 = piVar3;\n      iVar16 = 0;\n      do {\n        piVar14 = (int *)*piVar12;\n        iVar18 = iVar16;\n        if (piVar14[9] == 0) {\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar15 = iVar15 + 1;\n        piVar12 = piVar12 + 1;\n        iVar16 = iVar18;\n      } while (iVar15 < iVar6);\n    }\n    (**(code **)(puVar20 + 0x29b010))(puVar10);\n    (**(code **)(puVar20 + 0x29ab44))(piVar3);\n    pcVar8 = (char *)0x1;\n  }\n  if (iStack_5c == *piVar2) {\n    return pcVar8;\n  }\n  pcVar21 = *(code **)(puVar20 + 0x29abe8);\n  (*pcVar21)();\n  iVar4 = *(int *)(pcVar21 + 0x29a13c);\n  if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar9 = (**(code **)(pcVar21 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar9;\n    return (char *)0x1;\n  }\n  return (char *)0x1;\n}" primitive_type (pointer_declarator "* GetMagicName(MagicInfo *magic_info)" * (function_declarator "GetMagicName(MagicInfo *magic_info)" identifier (parameter_list "(MagicInfo *magic_info)" ( (parameter_declaration "MagicInfo *magic_info" type_identifier (pointer_declarator "*magic_info" * identifier)) )))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  char *pcVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  int *piVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  int iStack_60;\n  int iStack_5c;\n  MagicInfo *pMStack_58;\n  undefined *puStack_54;\n  \n  puVar1 = PTR_s_t_to_left_003a88e4;\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);\n  if (magic_info == (MagicInfo *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (magic_info->signature == 0xabacadab) {\n    return magic_info->name;\n  }\n  puVar11 = puVar1 + -0x3988;\n  puVar10 = PTR_s_t_to_left_003a88e4 + -0x391c;\n  puVar20 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar10,puVar11,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);\n  piVar2 = *(int **)(puVar20 + 0x29adb4);\n  puStack_54 = puVar1;\n  iStack_5c = *piVar2;\n  if (puVar10 == (undefined *)0x0) {\n    puVar10 = (undefined *)**(undefined4 **)(puVar20 + 0x29aa68);\n  }\n  pMStack_58 = magic_info;\n  piVar3 = (int *)(**(code **)(puVar20 + 0x29a808))\n                            (*(int *)(puVar20 + 0x29a46c) + 0x6c9c,&iStack_60,puVar11);\n  if (piVar3 == (int *)0x0) {\n    pcVar8 = (char *)0x0;\n  }\n  else {\n    iVar4 = *(int *)(puVar20 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar15 = 0;\n      iVar17 = *(int *)(puVar20 + 0x29a470);\n      iVar19 = *(int *)(puVar20 + 0x29a468);\n      iVar13 = *(int *)(puVar20 + 0x29a4d4);\n      iVar5 = *(int *)(puVar20 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar12 = piVar3;\n      iVar16 = 0;\n      do {\n        piVar14 = (int *)*piVar12;\n        iVar18 = iVar16;\n        if (piVar14[9] == 0) {\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar15 = iVar15 + 1;\n        piVar12 = piVar12 + 1;\n        iVar16 = iVar18;\n      } while (iVar15 < iVar6);\n    }\n    (**(code **)(puVar20 + 0x29b010))(puVar10);\n    (**(code **)(puVar20 + 0x29ab44))(piVar3);\n    pcVar8 = (char *)0x1;\n  }\n  if (iStack_5c == *piVar2) {\n    return pcVar8;\n  }\n  pcVar21 = *(code **)(puVar20 + 0x29abe8);\n  (*pcVar21)();\n  iVar4 = *(int *)(pcVar21 + 0x29a13c);\n  if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar9 = (**(code **)(pcVar21 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar9;\n    return (char *)0x1;\n  }\n  return (char *)0x1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "code *pcVar21;" type_identifier (pointer_declarator "*pcVar21" * identifier) ;) (declaration "int iStack_60;" primitive_type identifier ;) (declaration "int iStack_5c;" primitive_type identifier ;) (declaration "MagicInfo *pMStack_58;" type_identifier (pointer_declarator "*pMStack_58" * identifier) ;) (declaration "undefined *puStack_54;" type_identifier (pointer_declarator "*puStack_54" * identifier) ;) (expression_statement "puVar1 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar1 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e)" ( number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3988" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3630" identifier + number_literal) , number_literal ))) ;) (if_statement "if (magic_info == (MagicInfo *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (magic_info->signature == 0xabacadab) {\n    return magic_info->name;\n  }" if (parenthesized_expression "(magic_info == (MagicInfo *)0x0)" ( (binary_expression "magic_info == (MagicInfo *)0x0" identifier == (cast_expression "(MagicInfo *)0x0" ( (type_descriptor "MagicInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3940" identifier + number_literal) , (binary_expression "puVar1 + -0x3988" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3640" identifier + number_literal) ))) ;) }) (else_clause "else if (magic_info->signature == 0xabacadab) {\n    return magic_info->name;\n  }" else (if_statement "if (magic_info->signature == 0xabacadab) {\n    return magic_info->name;\n  }" if (parenthesized_expression "(magic_info->signature == 0xabacadab)" ( (binary_expression "magic_info->signature == 0xabacadab" (field_expression "magic_info->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    return magic_info->name;\n  }" { (return_statement "return magic_info->name;" return (field_expression "magic_info->name" identifier -> field_identifier) ;) })))) (expression_statement "puVar11 = puVar1 + -0x3988;" (assignment_expression "puVar11 = puVar1 + -0x3988" identifier = (binary_expression "puVar1 + -0x3988" identifier + number_literal)) ;) (expression_statement "puVar10 = PTR_s_t_to_left_003a88e4 + -0x391c;" (assignment_expression "puVar10 = PTR_s_t_to_left_003a88e4 + -0x391c" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x391c" identifier + number_literal)) ;) (expression_statement "puVar20 = PTR___assert_fail_003a9608;" (assignment_expression "puVar20 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(puVar10,puVar11,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(puVar10,puVar11,0x260,PTR_s_t_to_left_003a88e4 + -0x3640)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,puVar11,0x260,PTR_s_t_to_left_003a88e4 + -0x3640)" ( identifier , identifier , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3640" identifier + number_literal) ))) ;) (expression_statement "piVar2 = *(int **)(puVar20 + 0x29adb4);" (assignment_expression "piVar2 = *(int **)(puVar20 + 0x29adb4)" identifier = (pointer_expression "*(int **)(puVar20 + 0x29adb4)" * (cast_expression "(int **)(puVar20 + 0x29adb4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29adb4)" ( (binary_expression "puVar20 + 0x29adb4" identifier + number_literal) ))))) ;) (expression_statement "puStack_54 = puVar1;" (assignment_expression "puStack_54 = puVar1" identifier = identifier) ;) (expression_statement "iStack_5c = *piVar2;" (assignment_expression "iStack_5c = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (puVar10 == (undefined *)0x0) {\n    puVar10 = (undefined *)**(undefined4 **)(puVar20 + 0x29aa68);\n  }" if (parenthesized_expression "(puVar10 == (undefined *)0x0)" ( (binary_expression "puVar10 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar10 = (undefined *)**(undefined4 **)(puVar20 + 0x29aa68);\n  }" { (expression_statement "puVar10 = (undefined *)**(undefined4 **)(puVar20 + 0x29aa68);" (assignment_expression "puVar10 = (undefined *)**(undefined4 **)(puVar20 + 0x29aa68)" identifier = (cast_expression "(undefined *)**(undefined4 **)(puVar20 + 0x29aa68)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar20 + 0x29aa68)" * (pointer_expression "*(undefined4 **)(puVar20 + 0x29aa68)" * (cast_expression "(undefined4 **)(puVar20 + 0x29aa68)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29aa68)" ( (binary_expression "puVar20 + 0x29aa68" identifier + number_literal) ))))))) ;) })) (expression_statement "pMStack_58 = magic_info;" (assignment_expression "pMStack_58 = magic_info" identifier = identifier) ;) (expression_statement "piVar3 = (int *)(**(code **)(puVar20 + 0x29a808))\n                            (*(int *)(puVar20 + 0x29a46c) + 0x6c9c,&iStack_60,puVar11);" (assignment_expression "piVar3 = (int *)(**(code **)(puVar20 + 0x29a808))\n                            (*(int *)(puVar20 + 0x29a46c) + 0x6c9c,&iStack_60,puVar11)" identifier = (cast_expression "(int *)(**(code **)(puVar20 + 0x29a808))\n                            (*(int *)(puVar20 + 0x29a46c) + 0x6c9c,&iStack_60,puVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar20 + 0x29a808))\n                            (*(int *)(puVar20 + 0x29a46c) + 0x6c9c,&iStack_60,puVar11)" (parenthesized_expression "(**(code **)(puVar20 + 0x29a808))" ( (pointer_expression "**(code **)(puVar20 + 0x29a808)" * (pointer_expression "*(code **)(puVar20 + 0x29a808)" * (cast_expression "(code **)(puVar20 + 0x29a808)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29a808)" ( (binary_expression "puVar20 + 0x29a808" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar20 + 0x29a46c) + 0x6c9c,&iStack_60,puVar11)" ( (binary_expression "*(int *)(puVar20 + 0x29a46c) + 0x6c9c" (pointer_expression "*(int *)(puVar20 + 0x29a46c)" * (cast_expression "(int *)(puVar20 + 0x29a46c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x29a46c)" ( (binary_expression "puVar20 + 0x29a46c" identifier + number_literal) )))) + number_literal) , (pointer_expression "&iStack_60" & identifier) , identifier ))))) ;) (if_statement "if (piVar3 == (int *)0x0) {\n    pcVar8 = (char *)0x0;\n  }\n  else {\n    iVar4 = *(int *)(puVar20 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar15 = 0;\n      iVar17 = *(int *)(puVar20 + 0x29a470);\n      iVar19 = *(int *)(puVar20 + 0x29a468);\n      iVar13 = *(int *)(puVar20 + 0x29a4d4);\n      iVar5 = *(int *)(puVar20 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar12 = piVar3;\n      iVar16 = 0;\n      do {\n        piVar14 = (int *)*piVar12;\n        iVar18 = iVar16;\n        if (piVar14[9] == 0) {\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar15 = iVar15 + 1;\n        piVar12 = piVar12 + 1;\n        iVar16 = iVar18;\n      } while (iVar15 < iVar6);\n    }\n    (**(code **)(puVar20 + 0x29b010))(puVar10);\n    (**(code **)(puVar20 + 0x29ab44))(piVar3);\n    pcVar8 = (char *)0x1;\n  }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar8 = (char *)0x0;\n  }" { (expression_statement "pcVar8 = (char *)0x0;" (assignment_expression "pcVar8 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    iVar4 = *(int *)(puVar20 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar15 = 0;\n      iVar17 = *(int *)(puVar20 + 0x29a470);\n      iVar19 = *(int *)(puVar20 + 0x29a468);\n      iVar13 = *(int *)(puVar20 + 0x29a4d4);\n      iVar5 = *(int *)(puVar20 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar12 = piVar3;\n      iVar16 = 0;\n      do {\n        piVar14 = (int *)*piVar12;\n        iVar18 = iVar16;\n        if (piVar14[9] == 0) {\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar15 = iVar15 + 1;\n        piVar12 = piVar12 + 1;\n        iVar16 = iVar18;\n      } while (iVar15 < iVar6);\n    }\n    (**(code **)(puVar20 + 0x29b010))(puVar10);\n    (**(code **)(puVar20 + 0x29ab44))(piVar3);\n    pcVar8 = (char *)0x1;\n  }" else (compound_statement "{\n    iVar4 = *(int *)(puVar20 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar15 = 0;\n      iVar17 = *(int *)(puVar20 + 0x29a470);\n      iVar19 = *(int *)(puVar20 + 0x29a468);\n      iVar13 = *(int *)(puVar20 + 0x29a4d4);\n      iVar5 = *(int *)(puVar20 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar12 = piVar3;\n      iVar16 = 0;\n      do {\n        piVar14 = (int *)*piVar12;\n        iVar18 = iVar16;\n        if (piVar14[9] == 0) {\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar15 = iVar15 + 1;\n        piVar12 = piVar12 + 1;\n        iVar16 = iVar18;\n      } while (iVar15 < iVar6);\n    }\n    (**(code **)(puVar20 + 0x29b010))(puVar10);\n    (**(code **)(puVar20 + 0x29ab44))(piVar3);\n    pcVar8 = (char *)0x1;\n  }" { (expression_statement "iVar4 = *(int *)(puVar20 + 0x29a468);" (assignment_expression "iVar4 = *(int *)(puVar20 + 0x29a468)" identifier = (pointer_expression "*(int *)(puVar20 + 0x29a468)" * (cast_expression "(int *)(puVar20 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x29a468)" ( (binary_expression "puVar20 + 0x29a468" identifier + number_literal) ))))) ;) (if_statement "if (0 < iStack_60) {\n      iVar15 = 0;\n      iVar17 = *(int *)(puVar20 + 0x29a470);\n      iVar19 = *(int *)(puVar20 + 0x29a468);\n      iVar13 = *(int *)(puVar20 + 0x29a4d4);\n      iVar5 = *(int *)(puVar20 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar12 = piVar3;\n      iVar16 = 0;\n      do {\n        piVar14 = (int *)*piVar12;\n        iVar18 = iVar16;\n        if (piVar14[9] == 0) {\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar15 = iVar15 + 1;\n        piVar12 = piVar12 + 1;\n        iVar16 = iVar18;\n      } while (iVar15 < iVar6);\n    }" if (parenthesized_expression "(0 < iStack_60)" ( (binary_expression "0 < iStack_60" number_literal < identifier) )) (compound_statement "{\n      iVar15 = 0;\n      iVar17 = *(int *)(puVar20 + 0x29a470);\n      iVar19 = *(int *)(puVar20 + 0x29a468);\n      iVar13 = *(int *)(puVar20 + 0x29a4d4);\n      iVar5 = *(int *)(puVar20 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar12 = piVar3;\n      iVar16 = 0;\n      do {\n        piVar14 = (int *)*piVar12;\n        iVar18 = iVar16;\n        if (piVar14[9] == 0) {\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar15 = iVar15 + 1;\n        piVar12 = piVar12 + 1;\n        iVar16 = iVar18;\n      } while (iVar15 < iVar6);\n    }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar17 = *(int *)(puVar20 + 0x29a470);" (assignment_expression "iVar17 = *(int *)(puVar20 + 0x29a470)" identifier = (pointer_expression "*(int *)(puVar20 + 0x29a470)" * (cast_expression "(int *)(puVar20 + 0x29a470)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x29a470)" ( (binary_expression "puVar20 + 0x29a470" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(puVar20 + 0x29a468);" (assignment_expression "iVar19 = *(int *)(puVar20 + 0x29a468)" identifier = (pointer_expression "*(int *)(puVar20 + 0x29a468)" * (cast_expression "(int *)(puVar20 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x29a468)" ( (binary_expression "puVar20 + 0x29a468" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(puVar20 + 0x29a4d4);" (assignment_expression "iVar13 = *(int *)(puVar20 + 0x29a4d4)" identifier = (pointer_expression "*(int *)(puVar20 + 0x29a4d4)" * (cast_expression "(int *)(puVar20 + 0x29a4d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x29a4d4)" ( (binary_expression "puVar20 + 0x29a4d4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar20 + 0x29a468);" (assignment_expression "iVar5 = *(int *)(puVar20 + 0x29a468)" identifier = (pointer_expression "*(int *)(puVar20 + 0x29a468)" * (cast_expression "(int *)(puVar20 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x29a468)" ( (binary_expression "puVar20 + 0x29a468" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iStack_60;" (assignment_expression "iVar6 = iStack_60" identifier = identifier) ;) (expression_statement "piVar12 = piVar3;" (assignment_expression "piVar12 = piVar3" identifier = identifier) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar14 = (int *)*piVar12;\n        iVar18 = iVar16;\n        if (piVar14[9] == 0) {\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar15 = iVar15 + 1;\n        piVar12 = piVar12 + 1;\n        iVar16 = iVar18;\n      } while (iVar15 < iVar6);" do (compound_statement "{\n        piVar14 = (int *)*piVar12;\n        iVar18 = iVar16;\n        if (piVar14[9] == 0) {\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar15 = iVar15 + 1;\n        piVar12 = piVar12 + 1;\n        iVar16 = iVar18;\n      }" { (expression_statement "piVar14 = (int *)*piVar12;" (assignment_expression "piVar14 = (int *)*piVar12" identifier = (cast_expression "(int *)*piVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar12" * identifier))) ;) (expression_statement "iVar18 = iVar16;" (assignment_expression "iVar18 = iVar16" identifier = identifier) ;) (if_statement "if (piVar14[9] == 0) {\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }" if (parenthesized_expression "(piVar14[9] == 0)" ( (binary_expression "piVar14[9] == 0" (subscript_expression "piVar14[9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          iVar18 = *piVar14;\n          if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);\n          iVar6 = *piVar12;\n          uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }" { (expression_statement "iVar18 = *piVar14;" (assignment_expression "iVar18 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (if_statement "if ((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)) {\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }" if (parenthesized_expression "((iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0))" ( (binary_expression "(iVar16 == 0) ||\n             (iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)" (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0)" ( (comma_expression "iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18), iVar6 != 0" (assignment_expression "iVar6 = (**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18)" identifier = (call_expression "(**(code **)(puVar20 + 0x29ac94))(iVar16,iVar18)" (parenthesized_expression "(**(code **)(puVar20 + 0x29ac94))" ( (pointer_expression "**(code **)(puVar20 + 0x29ac94)" * (pointer_expression "*(code **)(puVar20 + 0x29ac94)" * (cast_expression "(code **)(puVar20 + 0x29ac94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29ac94)" ( (binary_expression "puVar20 + 0x29ac94" identifier + number_literal) ))))) )) (argument_list "(iVar16,iVar18)" ( identifier , identifier )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);\n            piVar14 = (int *)*piVar12;\n            iVar18 = *piVar14;\n          }" { (if_statement "if (iVar18 != 0) {\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              (**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);\n            }" { (expression_statement "(**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18);" (call_expression "(**(code **)(puVar20 + 0x29b0c8))\n                        (puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18)" (parenthesized_expression "(**(code **)(puVar20 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar20 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar20 + 0x29b0c8)" * (cast_expression "(code **)(puVar20 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29b0c8)" ( (binary_expression "puVar20 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4620,iVar18)" ( identifier , (binary_expression "*(int *)(puVar20 + 0x29a464) + 0x4620" (pointer_expression "*(int *)(puVar20 + 0x29a464)" * (cast_expression "(int *)(puVar20 + 0x29a464)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x29a464)" ( (binary_expression "puVar20 + 0x29a464" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "(**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec);" (call_expression "(**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec)" (parenthesized_expression "(**(code **)(puVar20 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar20 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar20 + 0x29b0c8)" * (cast_expression "(code **)(puVar20 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29b0c8)" ( (binary_expression "puVar20 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar10,*(int *)(puVar20 + 0x29a468) + -0x38ec)" ( identifier , (binary_expression "*(int *)(puVar20 + 0x29a468) + -0x38ec" (pointer_expression "*(int *)(puVar20 + 0x29a468)" * (cast_expression "(int *)(puVar20 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x29a468)" ( (binary_expression "puVar20 + 0x29a468" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644);" (call_expression "(**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644)" (parenthesized_expression "(**(code **)(puVar20 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar20 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar20 + 0x29b0c8)" * (cast_expression "(code **)(puVar20 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29b0c8)" ( (binary_expression "puVar20 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar10,*(int *)(puVar20 + 0x29a464) + 0x4644)" ( identifier , (binary_expression "*(int *)(puVar20 + 0x29a464) + 0x4644" (pointer_expression "*(int *)(puVar20 + 0x29a464)" * (cast_expression "(int *)(puVar20 + 0x29a464)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x29a464)" ( (binary_expression "puVar20 + 0x29a464" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar14 = (int *)*piVar12;" (assignment_expression "piVar14 = (int *)*piVar12" identifier = (cast_expression "(int *)*piVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar12" * identifier))) ;) (expression_statement "iVar18 = *piVar14;" (assignment_expression "iVar18 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) })) (expression_statement "(**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1]);" (call_expression "(**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar4 + -0x62ac,piVar14[1])" (parenthesized_expression "(**(code **)(puVar20 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar20 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar20 + 0x29b0c8)" * (cast_expression "(code **)(puVar20 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29b0c8)" ( (binary_expression "puVar20 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar10,iVar4 + -0x62ac,piVar14[1])" ( identifier , (binary_expression "iVar4 + -0x62ac" identifier + number_literal) , (subscript_expression "piVar14[1]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar6 = *piVar12;" (assignment_expression "iVar6 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));" (assignment_expression "uVar7 = (**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4))" identifier = (call_expression "(**(code **)(puVar20 + 0x29aebc))(*(undefined4 *)(iVar6 + 4))" (parenthesized_expression "(**(code **)(puVar20 + 0x29aebc))" ( (pointer_expression "**(code **)(puVar20 + 0x29aebc)" * (pointer_expression "*(code **)(puVar20 + 0x29aebc)" * (cast_expression "(code **)(puVar20 + 0x29aebc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29aebc)" ( (binary_expression "puVar20 + 0x29aebc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 4))" ( (pointer_expression "*(undefined4 *)(iVar6 + 4)" * (cast_expression "(undefined4 *)(iVar6 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) )))) ;) (if_statement "if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }" if (parenthesized_expression "(uVar7 < 10)" ( (binary_expression "uVar7 < 10" identifier < number_literal) )) (compound_statement "{\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar12;\n          }" { (do_statement "do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            } while (uVar7 != 10);" do (compound_statement "{\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);\n            }" { (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158);" (call_expression "(**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar13 + 0x2158)" (parenthesized_expression "(**(code **)(puVar20 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar20 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar20 + 0x29b0c8)" * (cast_expression "(code **)(puVar20 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29b0c8)" ( (binary_expression "puVar20 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar10,iVar13 + 0x2158)" ( identifier , (binary_expression "iVar13 + 0x2158" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(uVar7 != 10)" ( (binary_expression "uVar7 != 10" identifier != number_literal) )) ;) (expression_statement "iVar6 = *piVar12;" (assignment_expression "iVar6 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) })) (expression_statement "(**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));" (call_expression "(**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c))" (parenthesized_expression "(**(code **)(puVar20 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar20 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar20 + 0x29b0c8)" * (cast_expression "(code **)(puVar20 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29b0c8)" ( (binary_expression "puVar20 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar10,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c))" ( identifier , (binary_expression "iVar5 + -0x38d0" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar6 + 0x1c)" * (cast_expression "(undefined4 *)(iVar6 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) ))) ;) (if_statement "if (*(char **)(*piVar12 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }" if (parenthesized_expression "(*(char **)(*piVar12 + 8) != (char *)0x0)" ( (binary_expression "*(char **)(*piVar12 + 8) != (char *)0x0" (pointer_expression "*(char **)(*piVar12 + 8)" * (cast_expression "(char **)(*piVar12 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 8)" ( (binary_expression "*piVar12 + 8" (pointer_expression "*piVar12" * identifier) + number_literal) )))) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar7 = (uint)**(char **)(*piVar12 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }" { (expression_statement "uVar7 = (uint)**(char **)(*piVar12 + 8);" (assignment_expression "uVar7 = (uint)**(char **)(*piVar12 + 8)" identifier = (binary_expression "(uint)**(char **)(*piVar12 + 8)" (parenthesized_expression "(uint)" ( identifier )) * (pointer_expression "*(char **)(*piVar12 + 8)" * (cast_expression "(char **)(*piVar12 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 8)" ( (binary_expression "*piVar12 + 8" (pointer_expression "*piVar12" * identifier) + number_literal) )))))) ;) (if_statement "if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar6 = 0;\n              piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))();" (assignment_expression "piVar14 = (int *)(**(code **)(puVar20 + 0x29afb8))()" identifier = (cast_expression "(int *)(**(code **)(puVar20 + 0x29afb8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar20 + 0x29afb8))()" (parenthesized_expression "(**(code **)(puVar20 + 0x29afb8))" ( (pointer_expression "**(code **)(puVar20 + 0x29afb8)" * (pointer_expression "*(code **)(puVar20 + 0x29afb8)" * (cast_expression "(code **)(puVar20 + 0x29afb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29afb8)" ( (binary_expression "puVar20 + 0x29afb8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (do_statement "do {\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              } while (uVar7 != 0);" do (compound_statement "{\n                while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n              }" { (while_statement "while ((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }" while (parenthesized_expression "((*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0)" ( (binary_expression "(*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40) == 0" (parenthesized_expression "(*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40)" ( (binary_expression "*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2) & 0x40" (pointer_expression "*(ushort *)(*piVar14 + (uVar7 & 0xff) * 2)" * (cast_expression "(ushort *)(*piVar14 + (uVar7 & 0xff) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + (uVar7 & 0xff) * 2)" ( (binary_expression "*piVar14 + (uVar7 & 0xff) * 2" (pointer_expression "*piVar14" * identifier) + (binary_expression "(uVar7 & 0xff) * 2" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  (**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }" { (expression_statement "(**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8);" (call_expression "(**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar19 + -0x38c8)" (parenthesized_expression "(**(code **)(puVar20 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar20 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar20 + 0x29b0c8)" * (cast_expression "(code **)(puVar20 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29b0c8)" ( (binary_expression "puVar20 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar10,iVar19 + -0x38c8)" ( identifier , (binary_expression "iVar19 + -0x38c8" identifier + number_literal) ))) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);" (assignment_expression "uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6)" identifier = (binary_expression "(uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(*(int *)(*piVar12 + 8) + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar12 + 8) + iVar6)" ( (binary_expression "*(int *)(*piVar12 + 8) + iVar6" (pointer_expression "*(int *)(*piVar12 + 8)" * (cast_expression "(int *)(*piVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar12 + 8)" ( (binary_expression "*piVar12 + 8" (pointer_expression "*piVar12" * identifier) + number_literal) )))) + identifier) ))))) ;) (if_statement "if (uVar7 == 0) goto LAB_0010e688;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010e688;" goto statement_identifier ;)) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7);" (call_expression "(**(code **)(puVar20 + 0x29b0c8))(puVar10,iVar17 + -0x690,uVar7)" (parenthesized_expression "(**(code **)(puVar20 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar20 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar20 + 0x29b0c8)" * (cast_expression "(code **)(puVar20 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29b0c8)" ( (binary_expression "puVar20 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar10,iVar17 + -0x690,uVar7)" ( identifier , (binary_expression "iVar17 + -0x690" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6);" (assignment_expression "uVar7 = (uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6)" identifier = (binary_expression "(uint)*(char *)(*(int *)(*piVar12 + 8) + iVar6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(*(int *)(*piVar12 + 8) + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar12 + 8) + iVar6)" ( (binary_expression "*(int *)(*piVar12 + 8) + iVar6" (pointer_expression "*(int *)(*piVar12 + 8)" * (cast_expression "(int *)(*piVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar12 + 8)" ( (binary_expression "*piVar12 + 8" (pointer_expression "*piVar12" * identifier) + number_literal) )))) + identifier) ))))) ;) }) while (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) ;) })) })) (labeled_statement "LAB_0010e688:\n          (**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);" statement_identifier : (expression_statement "(**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc);" (call_expression "(**(code **)(puVar20 + 0x29b0c8))(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc)" (parenthesized_expression "(**(code **)(puVar20 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar20 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar20 + 0x29b0c8)" * (cast_expression "(code **)(puVar20 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29b0c8)" ( (binary_expression "puVar20 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar10,*(int *)(puVar20 + 0x29a470) + -0x4bdc)" ( identifier , (binary_expression "*(int *)(puVar20 + 0x29a470) + -0x4bdc" (pointer_expression "*(int *)(puVar20 + 0x29a470)" * (cast_expression "(int *)(puVar20 + 0x29a470)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x29a470)" ( (binary_expression "puVar20 + 0x29a470" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "iVar6 = iStack_60;" (assignment_expression "iVar6 = iStack_60" identifier = identifier) ;) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "piVar12 = piVar12 + 1;" (assignment_expression "piVar12 = piVar12 + 1" identifier = (binary_expression "piVar12 + 1" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar18;" (assignment_expression "iVar16 = iVar18" identifier = identifier) ;) }) while (parenthesized_expression "(iVar15 < iVar6)" ( (binary_expression "iVar15 < iVar6" identifier < identifier) )) ;) })) (expression_statement "(**(code **)(puVar20 + 0x29b010))(puVar10);" (call_expression "(**(code **)(puVar20 + 0x29b010))(puVar10)" (parenthesized_expression "(**(code **)(puVar20 + 0x29b010))" ( (pointer_expression "**(code **)(puVar20 + 0x29b010)" * (pointer_expression "*(code **)(puVar20 + 0x29b010)" * (cast_expression "(code **)(puVar20 + 0x29b010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29b010)" ( (binary_expression "puVar20 + 0x29b010" identifier + number_literal) ))))) )) (argument_list "(puVar10)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar20 + 0x29ab44))(piVar3);" (call_expression "(**(code **)(puVar20 + 0x29ab44))(piVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x29ab44))" ( (pointer_expression "**(code **)(puVar20 + 0x29ab44)" * (pointer_expression "*(code **)(puVar20 + 0x29ab44)" * (cast_expression "(code **)(puVar20 + 0x29ab44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29ab44)" ( (binary_expression "puVar20 + 0x29ab44" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier ))) ;) (expression_statement "pcVar8 = (char *)0x1;" (assignment_expression "pcVar8 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (iStack_5c == *piVar2) {\n    return pcVar8;\n  }" if (parenthesized_expression "(iStack_5c == *piVar2)" ( (binary_expression "iStack_5c == *piVar2" identifier == (pointer_expression "*piVar2" * identifier)) )) (compound_statement "{\n    return pcVar8;\n  }" { (return_statement "return pcVar8;" return identifier ;) })) (expression_statement "pcVar21 = *(code **)(puVar20 + 0x29abe8);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x29abe8)" identifier = (pointer_expression "*(code **)(puVar20 + 0x29abe8)" * (cast_expression "(code **)(puVar20 + 0x29abe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x29abe8)" ( (binary_expression "puVar20 + 0x29abe8" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = *(int *)(pcVar21 + 0x29a13c);" (assignment_expression "iVar4 = *(int *)(pcVar21 + 0x29a13c)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x29a13c)" * (cast_expression "(int *)(pcVar21 + 0x29a13c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x29a13c)" ( (binary_expression "pcVar21 + 0x29a13c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar9 = (**(code **)(pcVar21 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar9;\n    return (char *)0x1;\n  }" if (parenthesized_expression "(*(int *)(iVar4 + -0x507c) == 0)" ( (binary_expression "*(int *)(iVar4 + -0x507c) == 0" (pointer_expression "*(int *)(iVar4 + -0x507c)" * (cast_expression "(int *)(iVar4 + -0x507c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x507c)" ( (binary_expression "iVar4 + -0x507c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar9 = (**(code **)(pcVar21 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar9;\n    return (char *)0x1;\n  }" { (expression_statement "uVar9 = (**(code **)(pcVar21 + 0x29ae9c))();" (assignment_expression "uVar9 = (**(code **)(pcVar21 + 0x29ae9c))()" identifier = (call_expression "(**(code **)(pcVar21 + 0x29ae9c))()" (parenthesized_expression "(**(code **)(pcVar21 + 0x29ae9c))" ( (pointer_expression "**(code **)(pcVar21 + 0x29ae9c)" * (pointer_expression "*(code **)(pcVar21 + 0x29ae9c)" * (cast_expression "(code **)(pcVar21 + 0x29ae9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x29ae9c)" ( (binary_expression "pcVar21 + 0x29ae9c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar4 + -0x507c) = uVar9;" (assignment_expression "*(undefined4 *)(iVar4 + -0x507c) = uVar9" (pointer_expression "*(undefined4 *)(iVar4 + -0x507c)" * (cast_expression "(undefined4 *)(iVar4 + -0x507c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x507c)" ( (binary_expression "iVar4 + -0x507c" identifier + number_literal) )))) = identifier) ;) (return_statement "return (char *)0x1;" return (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (return_statement "return (char *)0x1;" return (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "undefined4 GetMagicName(int param_1)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int *piVar11;\n  int iVar12;\n  int *piVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined *puVar19;\n  code *pcVar20;\n  int iStack_60;\n  int iStack_5c;\n  int iStack_58;\n  undefined *puStack_54;\n  \n  puVar1 = PTR_s_t_to_left_003a88e4;\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }\n  puVar10 = puVar1 + -0x3988;\n  puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);\n  piVar2 = *(int **)(puVar19 + 0x29adb4);\n  puStack_54 = puVar1;\n  iStack_5c = *piVar2;\n  if (puVar9 == (undefined *)0x0) {\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }\n  iStack_58 = param_1;\n  piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);\n  if (piVar3 == (int *)0x0) {\n    uVar8 = 0;\n  }\n  else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }\n  if (iStack_5c == *piVar2) {\n    return uVar8;\n  }\n  pcVar20 = *(code **)(puVar19 + 0x29abe8);\n  (*pcVar20)();\n  iVar4 = *(int *)(pcVar20 + 0x29a13c);\n  if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }\n  return 1;\n}\n\n" (function_definition "undefined4 GetMagicName(int param_1)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int *piVar11;\n  int iVar12;\n  int *piVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined *puVar19;\n  code *pcVar20;\n  int iStack_60;\n  int iStack_5c;\n  int iStack_58;\n  undefined *puStack_54;\n  \n  puVar1 = PTR_s_t_to_left_003a88e4;\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }\n  puVar10 = puVar1 + -0x3988;\n  puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);\n  piVar2 = *(int **)(puVar19 + 0x29adb4);\n  puStack_54 = puVar1;\n  iStack_5c = *piVar2;\n  if (puVar9 == (undefined *)0x0) {\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }\n  iStack_58 = param_1;\n  piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);\n  if (piVar3 == (int *)0x0) {\n    uVar8 = 0;\n  }\n  else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }\n  if (iStack_5c == *piVar2) {\n    return uVar8;\n  }\n  pcVar20 = *(code **)(puVar19 + 0x29abe8);\n  (*pcVar20)();\n  iVar4 = *(int *)(pcVar20 + 0x29a13c);\n  if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }\n  return 1;\n}" type_identifier (function_declarator "GetMagicName(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int *piVar11;\n  int iVar12;\n  int *piVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined *puVar19;\n  code *pcVar20;\n  int iStack_60;\n  int iStack_5c;\n  int iStack_58;\n  undefined *puStack_54;\n  \n  puVar1 = PTR_s_t_to_left_003a88e4;\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }\n  puVar10 = puVar1 + -0x3988;\n  puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);\n  piVar2 = *(int **)(puVar19 + 0x29adb4);\n  puStack_54 = puVar1;\n  iStack_5c = *piVar2;\n  if (puVar9 == (undefined *)0x0) {\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }\n  iStack_58 = param_1;\n  piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);\n  if (piVar3 == (int *)0x0) {\n    uVar8 = 0;\n  }\n  else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }\n  if (iStack_5c == *piVar2) {\n    return uVar8;\n  }\n  pcVar20 = *(code **)(puVar19 + 0x29abe8);\n  (*pcVar20)();\n  iVar4 = *(int *)(pcVar20 + 0x29a13c);\n  if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }\n  return 1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "int iStack_60;" primitive_type identifier ;) (declaration "int iStack_5c;" primitive_type identifier ;) (declaration "int iStack_58;" primitive_type identifier ;) (declaration "undefined *puStack_54;" type_identifier (pointer_declarator "*puStack_54" * identifier) ;) (expression_statement "puVar1 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar1 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e)" ( number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3988" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3630" identifier + number_literal) , number_literal ))) ;) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3940" identifier + number_literal) , (binary_expression "puVar1 + -0x3988" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3640" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }" else (if_statement "if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x28) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x28) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return *(undefined4 *)(param_1 + 4);\n  }" { (return_statement "return *(undefined4 *)(param_1 + 4);" return (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) ;) })))) (expression_statement "puVar10 = puVar1 + -0x3988;" (assignment_expression "puVar10 = puVar1 + -0x3988" identifier = (binary_expression "puVar1 + -0x3988" identifier + number_literal)) ;) (expression_statement "puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;" (assignment_expression "puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x391c" identifier + number_literal)) ;) (expression_statement "puVar19 = PTR___assert_fail_003a9608;" (assignment_expression "puVar19 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640)" ( identifier , identifier , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3640" identifier + number_literal) ))) ;) (expression_statement "piVar2 = *(int **)(puVar19 + 0x29adb4);" (assignment_expression "piVar2 = *(int **)(puVar19 + 0x29adb4)" identifier = (pointer_expression "*(int **)(puVar19 + 0x29adb4)" * (cast_expression "(int **)(puVar19 + 0x29adb4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29adb4)" ( (binary_expression "puVar19 + 0x29adb4" identifier + number_literal) ))))) ;) (expression_statement "puStack_54 = puVar1;" (assignment_expression "puStack_54 = puVar1" identifier = identifier) ;) (expression_statement "iStack_5c = *piVar2;" (assignment_expression "iStack_5c = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (puVar9 == (undefined *)0x0) {\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }" if (parenthesized_expression "(puVar9 == (undefined *)0x0)" ( (binary_expression "puVar9 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }" { (expression_statement "puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);" (assignment_expression "puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68)" identifier = (cast_expression "(undefined *)**(undefined4 **)(puVar19 + 0x29aa68)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar19 + 0x29aa68)" * (pointer_expression "*(undefined4 **)(puVar19 + 0x29aa68)" * (cast_expression "(undefined4 **)(puVar19 + 0x29aa68)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29aa68)" ( (binary_expression "puVar19 + 0x29aa68" identifier + number_literal) ))))))) ;) })) (expression_statement "iStack_58 = param_1;" (assignment_expression "iStack_58 = param_1" identifier = identifier) ;) (expression_statement "piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);" (assignment_expression "piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" (parenthesized_expression "(**(code **)(puVar19 + 0x29a808))" ( (pointer_expression "**(code **)(puVar19 + 0x29a808)" * (pointer_expression "*(code **)(puVar19 + 0x29a808)" * (cast_expression "(code **)(puVar19 + 0x29a808)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29a808)" ( (binary_expression "puVar19 + 0x29a808" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" ( (binary_expression "*(int *)(puVar19 + 0x29a46c) + 0x6c9c" (pointer_expression "*(int *)(puVar19 + 0x29a46c)" * (cast_expression "(int *)(puVar19 + 0x29a46c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a46c)" ( (binary_expression "puVar19 + 0x29a46c" identifier + number_literal) )))) + number_literal) , (pointer_expression "&iStack_60" & identifier) , identifier ))))) ;) (if_statement "if (piVar3 == (int *)0x0) {\n    uVar8 = 0;\n  }\n  else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar8 = 0;\n  }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }" else (compound_statement "{\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }" { (expression_statement "iVar4 = *(int *)(puVar19 + 0x29a468);" (assignment_expression "iVar4 = *(int *)(puVar19 + 0x29a468)" identifier = (pointer_expression "*(int *)(puVar19 + 0x29a468)" * (cast_expression "(int *)(puVar19 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a468)" ( (binary_expression "puVar19 + 0x29a468" identifier + number_literal) ))))) ;) (if_statement "if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }" if (parenthesized_expression "(0 < iStack_60)" ( (binary_expression "0 < iStack_60" number_literal < identifier) )) (compound_statement "{\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = *(int *)(puVar19 + 0x29a470);" (assignment_expression "iVar16 = *(int *)(puVar19 + 0x29a470)" identifier = (pointer_expression "*(int *)(puVar19 + 0x29a470)" * (cast_expression "(int *)(puVar19 + 0x29a470)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a470)" ( (binary_expression "puVar19 + 0x29a470" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(puVar19 + 0x29a468);" (assignment_expression "iVar18 = *(int *)(puVar19 + 0x29a468)" identifier = (pointer_expression "*(int *)(puVar19 + 0x29a468)" * (cast_expression "(int *)(puVar19 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a468)" ( (binary_expression "puVar19 + 0x29a468" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(puVar19 + 0x29a4d4);" (assignment_expression "iVar12 = *(int *)(puVar19 + 0x29a4d4)" identifier = (pointer_expression "*(int *)(puVar19 + 0x29a4d4)" * (cast_expression "(int *)(puVar19 + 0x29a4d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a4d4)" ( (binary_expression "puVar19 + 0x29a4d4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar19 + 0x29a468);" (assignment_expression "iVar5 = *(int *)(puVar19 + 0x29a468)" identifier = (pointer_expression "*(int *)(puVar19 + 0x29a468)" * (cast_expression "(int *)(puVar19 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a468)" ( (binary_expression "puVar19 + 0x29a468" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iStack_60;" (assignment_expression "iVar6 = iStack_60" identifier = identifier) ;) (expression_statement "piVar11 = piVar3;" (assignment_expression "piVar11 = piVar3" identifier = identifier) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);" do (compound_statement "{\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      }" { (expression_statement "piVar13 = (int *)*piVar11;" (assignment_expression "piVar13 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) (expression_statement "iVar17 = iVar15;" (assignment_expression "iVar17 = iVar15" identifier = identifier) ;) (if_statement "if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }" if (parenthesized_expression "(piVar13[9] == 0)" ( (binary_expression "piVar13[9] == 0" (subscript_expression "piVar13[9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }" { (expression_statement "iVar17 = *piVar13;" (assignment_expression "iVar17 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (if_statement "if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }" if (parenthesized_expression "((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0))" ( (binary_expression "(iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)" (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)" ( (comma_expression "iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0" (assignment_expression "iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17)" identifier = (call_expression "(**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17)" (parenthesized_expression "(**(code **)(puVar19 + 0x29ac94))" ( (pointer_expression "**(code **)(puVar19 + 0x29ac94)" * (pointer_expression "*(code **)(puVar19 + 0x29ac94)" * (cast_expression "(code **)(puVar19 + 0x29ac94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29ac94)" ( (binary_expression "puVar19 + 0x29ac94" identifier + number_literal) ))))) )) (argument_list "(iVar15,iVar17)" ( identifier , identifier )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }" { (if_statement "if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }" { (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x29a464) + 0x4620" (pointer_expression "*(int *)(puVar19 + 0x29a464)" * (cast_expression "(int *)(puVar19 + 0x29a464)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a464)" ( (binary_expression "puVar19 + 0x29a464" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x29a468) + -0x38ec" (pointer_expression "*(int *)(puVar19 + 0x29a468)" * (cast_expression "(int *)(puVar19 + 0x29a468)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a468)" ( (binary_expression "puVar19 + 0x29a468" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x29a464) + 0x4644" (pointer_expression "*(int *)(puVar19 + 0x29a464)" * (cast_expression "(int *)(puVar19 + 0x29a464)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a464)" ( (binary_expression "puVar19 + 0x29a464" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar13 = (int *)*piVar11;" (assignment_expression "piVar13 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) (expression_statement "iVar17 = *piVar13;" (assignment_expression "iVar17 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) })) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1])" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,iVar4 + -0x62ac,piVar13[1])" ( identifier , (binary_expression "iVar4 + -0x62ac" identifier + number_literal) , (subscript_expression "piVar13[1]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar6 = *piVar11;" (assignment_expression "iVar6 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));" (assignment_expression "uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4))" identifier = (call_expression "(**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4))" (parenthesized_expression "(**(code **)(puVar19 + 0x29aebc))" ( (pointer_expression "**(code **)(puVar19 + 0x29aebc)" * (pointer_expression "*(code **)(puVar19 + 0x29aebc)" * (cast_expression "(code **)(puVar19 + 0x29aebc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29aebc)" ( (binary_expression "puVar19 + 0x29aebc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 4))" ( (pointer_expression "*(undefined4 *)(iVar6 + 4)" * (cast_expression "(undefined4 *)(iVar6 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) )))) ;) (if_statement "if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }" if (parenthesized_expression "(uVar7 < 10)" ( (binary_expression "uVar7 < 10" identifier < number_literal) )) (compound_statement "{\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }" { (do_statement "do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);" do (compound_statement "{\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            }" { (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,iVar12 + 0x2158)" ( identifier , (binary_expression "iVar12 + 0x2158" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(uVar7 != 10)" ( (binary_expression "uVar7 != 10" identifier != number_literal) )) ;) (expression_statement "iVar6 = *piVar11;" (assignment_expression "iVar6 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) })) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c))" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c))" ( identifier , (binary_expression "iVar5 + -0x38d0" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar6 + 0x1c)" * (cast_expression "(undefined4 *)(iVar6 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) ))) ;) (if_statement "if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }" if (parenthesized_expression "(*(char **)(*piVar11 + 8) != (char *)0x0)" ( (binary_expression "*(char **)(*piVar11 + 8) != (char *)0x0" (pointer_expression "*(char **)(*piVar11 + 8)" * (cast_expression "(char **)(*piVar11 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 8)" ( (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" * identifier) + number_literal) )))) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }" { (expression_statement "uVar7 = (uint)**(char **)(*piVar11 + 8);" (assignment_expression "uVar7 = (uint)**(char **)(*piVar11 + 8)" identifier = (binary_expression "(uint)**(char **)(*piVar11 + 8)" (parenthesized_expression "(uint)" ( identifier )) * (pointer_expression "*(char **)(*piVar11 + 8)" * (cast_expression "(char **)(*piVar11 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 8)" ( (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" * identifier) + number_literal) )))))) ;) (if_statement "if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();" (assignment_expression "piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))()" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x29afb8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x29afb8))()" (parenthesized_expression "(**(code **)(puVar19 + 0x29afb8))" ( (pointer_expression "**(code **)(puVar19 + 0x29afb8)" * (pointer_expression "*(code **)(puVar19 + 0x29afb8)" * (cast_expression "(code **)(puVar19 + 0x29afb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29afb8)" ( (binary_expression "puVar19 + 0x29afb8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (do_statement "do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);" do (compound_statement "{\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              }" { (while_statement "while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }" while (parenthesized_expression "((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0)" ( (binary_expression "(*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0" (parenthesized_expression "(*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40)" ( (binary_expression "*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40" (pointer_expression "*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2)" * (cast_expression "(ushort *)(*piVar13 + (uVar7 & 0xff) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar13 + (uVar7 & 0xff) * 2)" ( (binary_expression "*piVar13 + (uVar7 & 0xff) * 2" (pointer_expression "*piVar13" * identifier) + (binary_expression "(uVar7 & 0xff) * 2" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }" { (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,iVar18 + -0x38c8)" ( identifier , (binary_expression "iVar18 + -0x38c8" identifier + number_literal) ))) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);" (assignment_expression "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" identifier = (binary_expression "(uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(*(int *)(*piVar11 + 8) + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar11 + 8) + iVar6)" ( (binary_expression "*(int *)(*piVar11 + 8) + iVar6" (pointer_expression "*(int *)(*piVar11 + 8)" * (cast_expression "(int *)(*piVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar11 + 8)" ( (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" * identifier) + number_literal) )))) + identifier) ))))) ;) (if_statement "if (uVar7 == 0) goto LAB_0010e688;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010e688;" goto statement_identifier ;)) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,iVar16 + -0x690,uVar7)" ( identifier , (binary_expression "iVar16 + -0x690" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);" (assignment_expression "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" identifier = (binary_expression "(uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(*(int *)(*piVar11 + 8) + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar11 + 8) + iVar6)" ( (binary_expression "*(int *)(*piVar11 + 8) + iVar6" (pointer_expression "*(int *)(*piVar11 + 8)" * (cast_expression "(int *)(*piVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar11 + 8)" ( (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" * identifier) + number_literal) )))) + identifier) ))))) ;) }) while (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) ;) })) })) (labeled_statement "LAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);" statement_identifier : (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" ( (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" * (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" * (cast_expression "(code **)(puVar19 + 0x29b0c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b0c8)" ( (binary_expression "puVar19 + 0x29b0c8" identifier + number_literal) ))))) )) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x29a470) + -0x4bdc" (pointer_expression "*(int *)(puVar19 + 0x29a470)" * (cast_expression "(int *)(puVar19 + 0x29a470)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x29a470)" ( (binary_expression "puVar19 + 0x29a470" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "iVar6 = iStack_60;" (assignment_expression "iVar6 = iStack_60" identifier = identifier) ;) })) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = iVar17;" (assignment_expression "iVar15 = iVar17" identifier = identifier) ;) }) while (parenthesized_expression "(iVar14 < iVar6)" ( (binary_expression "iVar14 < iVar6" identifier < identifier) )) ;) })) (expression_statement "(**(code **)(puVar19 + 0x29b010))(puVar9);" (call_expression "(**(code **)(puVar19 + 0x29b010))(puVar9)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b010))" ( (pointer_expression "**(code **)(puVar19 + 0x29b010)" * (pointer_expression "*(code **)(puVar19 + 0x29b010)" * (cast_expression "(code **)(puVar19 + 0x29b010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29b010)" ( (binary_expression "puVar19 + 0x29b010" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar19 + 0x29ab44))(piVar3);" (call_expression "(**(code **)(puVar19 + 0x29ab44))(piVar3)" (parenthesized_expression "(**(code **)(puVar19 + 0x29ab44))" ( (pointer_expression "**(code **)(puVar19 + 0x29ab44)" * (pointer_expression "*(code **)(puVar19 + 0x29ab44)" * (cast_expression "(code **)(puVar19 + 0x29ab44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29ab44)" ( (binary_expression "puVar19 + 0x29ab44" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier ))) ;) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) }))) (if_statement "if (iStack_5c == *piVar2) {\n    return uVar8;\n  }" if (parenthesized_expression "(iStack_5c == *piVar2)" ( (binary_expression "iStack_5c == *piVar2" identifier == (pointer_expression "*piVar2" * identifier)) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) })) (expression_statement "pcVar20 = *(code **)(puVar19 + 0x29abe8);" (assignment_expression "pcVar20 = *(code **)(puVar19 + 0x29abe8)" identifier = (pointer_expression "*(code **)(puVar19 + 0x29abe8)" * (cast_expression "(code **)(puVar19 + 0x29abe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x29abe8)" ( (binary_expression "puVar19 + 0x29abe8" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = *(int *)(pcVar20 + 0x29a13c);" (assignment_expression "iVar4 = *(int *)(pcVar20 + 0x29a13c)" identifier = (pointer_expression "*(int *)(pcVar20 + 0x29a13c)" * (cast_expression "(int *)(pcVar20 + 0x29a13c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x29a13c)" ( (binary_expression "pcVar20 + 0x29a13c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }" if (parenthesized_expression "(*(int *)(iVar4 + -0x507c) == 0)" ( (binary_expression "*(int *)(iVar4 + -0x507c) == 0" (pointer_expression "*(int *)(iVar4 + -0x507c)" * (cast_expression "(int *)(iVar4 + -0x507c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x507c)" ( (binary_expression "iVar4 + -0x507c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }" { (expression_statement "uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();" (assignment_expression "uVar8 = (**(code **)(pcVar20 + 0x29ae9c))()" identifier = (call_expression "(**(code **)(pcVar20 + 0x29ae9c))()" (parenthesized_expression "(**(code **)(pcVar20 + 0x29ae9c))" ( (pointer_expression "**(code **)(pcVar20 + 0x29ae9c)" * (pointer_expression "*(code **)(pcVar20 + 0x29ae9c)" * (cast_expression "(code **)(pcVar20 + 0x29ae9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x29ae9c)" ( (binary_expression "pcVar20 + 0x29ae9c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar4 + -0x507c) = uVar8;" (assignment_expression "*(undefined4 *)(iVar4 + -0x507c) = uVar8" (pointer_expression "*(undefined4 *)(iVar4 + -0x507c)" * (cast_expression "(undefined4 *)(iVar4 + -0x507c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x507c)" ( (binary_expression "iVar4 + -0x507c" identifier + number_literal) )))) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) (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 *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (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 { (return_statement return (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 IDENT + LIT)) ;) (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 ( IDENT , IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_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) ;) }) (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 LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (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 *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_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 (pointer_expression * IDENT) + LIT) )))) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_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 (pointer_expression * IDENT) + LIT) )))) + IDENT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) })))
(function_definition "undefined4 GetMagicName(int param_1)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int *piVar11;\n  int iVar12;\n  int *piVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined *puVar19;\n  code *pcVar20;\n  int iStack_60;\n  int iStack_5c;\n  int iStack_58;\n  undefined *puStack_54;\n  \n  puVar1 = PTR_s_t_to_left_003a88e4;\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }\n  puVar10 = puVar1 + -0x3988;\n  puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);\n  piVar2 = *(int **)(puVar19 + 0x29adb4);\n  puStack_54 = puVar1;\n  iStack_5c = *piVar2;\n  if (puVar9 == (undefined *)0x0) {\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }\n  iStack_58 = param_1;\n  piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);\n  if (piVar3 == (int *)0x0) {\n    uVar8 = 0;\n  }\n  else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }\n  if (iStack_5c == *piVar2) {\n    return uVar8;\n  }\n  pcVar20 = *(code **)(puVar19 + 0x29abe8);\n  (*pcVar20)();\n  iVar4 = *(int *)(pcVar20 + 0x29a13c);\n  if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }\n  return 1;\n}" (type_identifier "undefined4") (function_declarator "GetMagicName(int param_1)" (identifier "GetMagicName") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int *piVar11;\n  int iVar12;\n  int *piVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined *puVar19;\n  code *pcVar20;\n  int iStack_60;\n  int iStack_5c;\n  int iStack_58;\n  undefined *puStack_54;\n  \n  puVar1 = PTR_s_t_to_left_003a88e4;\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }\n  puVar10 = puVar1 + -0x3988;\n  puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);\n  piVar2 = *(int **)(puVar19 + 0x29adb4);\n  puStack_54 = puVar1;\n  iStack_5c = *piVar2;\n  if (puVar9 == (undefined *)0x0) {\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }\n  iStack_58 = param_1;\n  piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);\n  if (piVar3 == (int *)0x0) {\n    uVar8 = 0;\n  }\n  else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }\n  if (iStack_5c == *piVar2) {\n    return uVar8;\n  }\n  pcVar20 = *(code **)(puVar19 + 0x29abe8);\n  (*pcVar20)();\n  iVar4 = *(int *)(pcVar20 + 0x29a13c);\n  if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }\n  return 1;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "undefined *puVar19;" (type_identifier "undefined") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "code *pcVar20;" (type_identifier "code") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "int iStack_60;" (primitive_type "int") (identifier "iStack_60") (; ";")) (declaration "int iStack_5c;" (primitive_type "int") (identifier "iStack_5c") (; ";")) (declaration "int iStack_58;" (primitive_type "int") (identifier "iStack_58") (; ";")) (declaration "undefined *puStack_54;" (type_identifier "undefined") (pointer_declarator "*puStack_54" (* "*") (identifier "puStack_54")) (; ";")) (expression_statement "puVar1 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar1 = PTR_s_t_to_left_003a88e4" (identifier "puVar1") (= "=") (identifier "PTR_s_t_to_left_003a88e4")) (; ";")) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_003a91e0"))) () ")")) (argument_list "(0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3988" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x3988")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3630" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x3630")) (, ",") (number_literal "0x25e") () ")"))) (; ";")) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }\n  else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,\n               PTR_s_t_to_left_003a88e4 + -0x3640)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3940" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x3940")) (, ",") (binary_expression "puVar1 + -0x3988" (identifier "puVar1") (+ "+") (number_literal "-0x3988")) (, ",") (number_literal "0x25f") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3640" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x3640")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }" (else "else") (if_statement "if (*(int *)(param_1 + 0x28) == -0x54535255) {\n    return *(undefined4 *)(param_1 + 4);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x28) == -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x28) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    return *(undefined4 *)(param_1 + 4);\n  }" ({ "{") (return_statement "return *(undefined4 *)(param_1 + 4);" (return "return") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}"))))) (expression_statement "puVar10 = puVar1 + -0x3988;" (assignment_expression "puVar10 = puVar1 + -0x3988" (identifier "puVar10") (= "=") (binary_expression "puVar1 + -0x3988" (identifier "puVar1") (+ "+") (number_literal "-0x3988"))) (; ";")) (expression_statement "puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;" (assignment_expression "puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c" (identifier "puVar9") (= "=") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x391c" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x391c"))) (; ";")) (expression_statement "puVar19 = PTR___assert_fail_003a9608;" (assignment_expression "puVar19 = PTR___assert_fail_003a9608" (identifier "puVar19") (= "=") (identifier "PTR___assert_fail_003a9608")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640)" (( "(") (identifier "puVar9") (, ",") (identifier "puVar10") (, ",") (number_literal "0x260") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x3640" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x3640")) () ")"))) (; ";")) (expression_statement "piVar2 = *(int **)(puVar19 + 0x29adb4);" (assignment_expression "piVar2 = *(int **)(puVar19 + 0x29adb4)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(puVar19 + 0x29adb4)" (* "*") (cast_expression "(int **)(puVar19 + 0x29adb4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29adb4)" (( "(") (binary_expression "puVar19 + 0x29adb4" (identifier "puVar19") (+ "+") (number_literal "0x29adb4")) () ")"))))) (; ";")) (expression_statement "puStack_54 = puVar1;" (assignment_expression "puStack_54 = puVar1" (identifier "puStack_54") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "iStack_5c = *piVar2;" (assignment_expression "iStack_5c = *piVar2" (identifier "iStack_5c") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (if_statement "if (puVar9 == (undefined *)0x0) {\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }" (if "if") (parenthesized_expression "(puVar9 == (undefined *)0x0)" (( "(") (binary_expression "puVar9 == (undefined *)0x0" (identifier "puVar9") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);\n  }" ({ "{") (expression_statement "puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);" (assignment_expression "puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68)" (identifier "puVar9") (= "=") (cast_expression "(undefined *)**(undefined4 **)(puVar19 + 0x29aa68)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puVar19 + 0x29aa68)" (* "*") (pointer_expression "*(undefined4 **)(puVar19 + 0x29aa68)" (* "*") (cast_expression "(undefined4 **)(puVar19 + 0x29aa68)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29aa68)" (( "(") (binary_expression "puVar19 + 0x29aa68" (identifier "puVar19") (+ "+") (number_literal "0x29aa68")) () ")"))))))) (; ";")) (} "}"))) (expression_statement "iStack_58 = param_1;" (assignment_expression "iStack_58 = param_1" (identifier "iStack_58") (= "=") (identifier "param_1")) (; ";")) (expression_statement "piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);" (assignment_expression "piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" (identifier "piVar3") (= "=") (cast_expression "(int *)(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar19 + 0x29a808))\n                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" (parenthesized_expression "(**(code **)(puVar19 + 0x29a808))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29a808)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29a808)" (* "*") (cast_expression "(code **)(puVar19 + 0x29a808)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29a808)" (( "(") (binary_expression "puVar19 + 0x29a808" (identifier "puVar19") (+ "+") (number_literal "0x29a808")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10)" (( "(") (binary_expression "*(int *)(puVar19 + 0x29a46c) + 0x6c9c" (pointer_expression "*(int *)(puVar19 + 0x29a46c)" (* "*") (cast_expression "(int *)(puVar19 + 0x29a46c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x29a46c)" (( "(") (binary_expression "puVar19 + 0x29a46c" (identifier "puVar19") (+ "+") (number_literal "0x29a46c")) () ")")))) (+ "+") (number_literal "0x6c9c")) (, ",") (pointer_expression "&iStack_60" (& "&") (identifier "iStack_60")) (, ",") (identifier "puVar10") () ")"))))) (; ";")) (if_statement "if (piVar3 == (int *)0x0) {\n    uVar8 = 0;\n  }\n  else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }" (if "if") (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar8 = 0;\n  }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }" (else "else") (compound_statement "{\n    iVar4 = *(int *)(puVar19 + 0x29a468);\n    if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }\n    (**(code **)(puVar19 + 0x29b010))(puVar9);\n    (**(code **)(puVar19 + 0x29ab44))(piVar3);\n    uVar8 = 1;\n  }" ({ "{") (expression_statement "iVar4 = *(int *)(puVar19 + 0x29a468);" (assignment_expression "iVar4 = *(int *)(puVar19 + 0x29a468)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(puVar19 + 0x29a468)" (* "*") (cast_expression "(int *)(puVar19 + 0x29a468)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x29a468)" (( "(") (binary_expression "puVar19 + 0x29a468" (identifier "puVar19") (+ "+") (number_literal "0x29a468")) () ")"))))) (; ";")) (if_statement "if (0 < iStack_60) {\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }" (if "if") (parenthesized_expression "(0 < iStack_60)" (( "(") (binary_expression "0 < iStack_60" (number_literal "0") (< "<") (identifier "iStack_60")) () ")")) (compound_statement "{\n      iVar14 = 0;\n      iVar16 = *(int *)(puVar19 + 0x29a470);\n      iVar18 = *(int *)(puVar19 + 0x29a468);\n      iVar12 = *(int *)(puVar19 + 0x29a4d4);\n      iVar5 = *(int *)(puVar19 + 0x29a468);\n      iVar6 = iStack_60;\n      piVar11 = piVar3;\n      iVar15 = 0;\n      do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);\n    }" ({ "{") (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar16 = *(int *)(puVar19 + 0x29a470);" (assignment_expression "iVar16 = *(int *)(puVar19 + 0x29a470)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(puVar19 + 0x29a470)" (* "*") (cast_expression "(int *)(puVar19 + 0x29a470)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x29a470)" (( "(") (binary_expression "puVar19 + 0x29a470" (identifier "puVar19") (+ "+") (number_literal "0x29a470")) () ")"))))) (; ";")) (expression_statement "iVar18 = *(int *)(puVar19 + 0x29a468);" (assignment_expression "iVar18 = *(int *)(puVar19 + 0x29a468)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(puVar19 + 0x29a468)" (* "*") (cast_expression "(int *)(puVar19 + 0x29a468)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x29a468)" (( "(") (binary_expression "puVar19 + 0x29a468" (identifier "puVar19") (+ "+") (number_literal "0x29a468")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(puVar19 + 0x29a4d4);" (assignment_expression "iVar12 = *(int *)(puVar19 + 0x29a4d4)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(puVar19 + 0x29a4d4)" (* "*") (cast_expression "(int *)(puVar19 + 0x29a4d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x29a4d4)" (( "(") (binary_expression "puVar19 + 0x29a4d4" (identifier "puVar19") (+ "+") (number_literal "0x29a4d4")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar19 + 0x29a468);" (assignment_expression "iVar5 = *(int *)(puVar19 + 0x29a468)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar19 + 0x29a468)" (* "*") (cast_expression "(int *)(puVar19 + 0x29a468)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x29a468)" (( "(") (binary_expression "puVar19 + 0x29a468" (identifier "puVar19") (+ "+") (number_literal "0x29a468")) () ")"))))) (; ";")) (expression_statement "iVar6 = iStack_60;" (assignment_expression "iVar6 = iStack_60" (identifier "iVar6") (= "=") (identifier "iStack_60")) (; ";")) (expression_statement "piVar11 = piVar3;" (assignment_expression "piVar11 = piVar3" (identifier "piVar11") (= "=") (identifier "piVar3")) (; ";")) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      } while (iVar14 < iVar6);" (do "do") (compound_statement "{\n        piVar13 = (int *)*piVar11;\n        iVar17 = iVar15;\n        if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }\n        iVar14 = iVar14 + 1;\n        piVar11 = piVar11 + 1;\n        iVar15 = iVar17;\n      }" ({ "{") (expression_statement "piVar13 = (int *)*piVar11;" (assignment_expression "piVar13 = (int *)*piVar11" (identifier "piVar13") (= "=") (cast_expression "(int *)*piVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (expression_statement "iVar17 = iVar15;" (assignment_expression "iVar17 = iVar15" (identifier "iVar17") (= "=") (identifier "iVar15")) (; ";")) (if_statement "if (piVar13[9] == 0) {\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }" (if "if") (parenthesized_expression "(piVar13[9] == 0)" (( "(") (binary_expression "piVar13[9] == 0" (subscript_expression "piVar13[9]" (identifier "piVar13") ([ "[") (number_literal "9") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar17 = *piVar13;\n          if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);\n          iVar6 = *piVar11;\n          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));\n          if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));\n          if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }\nLAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);\n          iVar6 = iStack_60;\n        }" ({ "{") (expression_statement "iVar17 = *piVar13;" (assignment_expression "iVar17 = *piVar13" (identifier "iVar17") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (if_statement "if ((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }" (if "if") (parenthesized_expression "((iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0))" (( "(") (binary_expression "(iVar15 == 0) ||\n             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)" (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)" (( "(") (comma_expression "iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0" (assignment_expression "iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17)" (parenthesized_expression "(**(code **)(puVar19 + 0x29ac94))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29ac94)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29ac94)" (* "*") (cast_expression "(code **)(puVar19 + 0x29ac94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29ac94)" (( "(") (binary_expression "puVar19 + 0x29ac94" (identifier "puVar19") (+ "+") (number_literal "0x29ac94")) () ")"))))) () ")")) (argument_list "(iVar15,iVar17)" (( "(") (identifier "iVar15") (, ",") (identifier "iVar17") () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);\n            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);\n            piVar13 = (int *)*piVar11;\n            iVar17 = *piVar13;\n          }" ({ "{") (if_statement "if (iVar17 != 0) {\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }" (if "if") (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;\n            }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)\n              ;" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" (* "*") (cast_expression "(code **)(puVar19 + 0x29b0c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29b0c8)" (( "(") (binary_expression "puVar19 + 0x29b0c8" (identifier "puVar19") (+ "+") (number_literal "0x29b0c8")) () ")"))))) () ")")) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)" (( "(") (identifier "puVar9") (, ",") (binary_expression "*(int *)(puVar19 + 0x29a464) + 0x4620" (pointer_expression "*(int *)(puVar19 + 0x29a464)" (* "*") (cast_expression "(int *)(puVar19 + 0x29a464)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x29a464)" (( "(") (binary_expression "puVar19 + 0x29a464" (identifier "puVar19") (+ "+") (number_literal "0x29a464")) () ")")))) (+ "+") (number_literal "0x4620")) (, ",") (identifier "iVar17") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" (* "*") (cast_expression "(code **)(puVar19 + 0x29b0c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29b0c8)" (( "(") (binary_expression "puVar19 + 0x29b0c8" (identifier "puVar19") (+ "+") (number_literal "0x29b0c8")) () ")"))))) () ")")) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec)" (( "(") (identifier "puVar9") (, ",") (binary_expression "*(int *)(puVar19 + 0x29a468) + -0x38ec" (pointer_expression "*(int *)(puVar19 + 0x29a468)" (* "*") (cast_expression "(int *)(puVar19 + 0x29a468)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x29a468)" (( "(") (binary_expression "puVar19 + 0x29a468" (identifier "puVar19") (+ "+") (number_literal "0x29a468")) () ")")))) (+ "+") (number_literal "-0x38ec")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" (* "*") (cast_expression "(code **)(puVar19 + 0x29b0c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29b0c8)" (( "(") (binary_expression "puVar19 + 0x29b0c8" (identifier "puVar19") (+ "+") (number_literal "0x29b0c8")) () ")"))))) () ")")) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644)" (( "(") (identifier "puVar9") (, ",") (binary_expression "*(int *)(puVar19 + 0x29a464) + 0x4644" (pointer_expression "*(int *)(puVar19 + 0x29a464)" (* "*") (cast_expression "(int *)(puVar19 + 0x29a464)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x29a464)" (( "(") (binary_expression "puVar19 + 0x29a464" (identifier "puVar19") (+ "+") (number_literal "0x29a464")) () ")")))) (+ "+") (number_literal "0x4644")) () ")"))) (; ";")) (expression_statement "piVar13 = (int *)*piVar11;" (assignment_expression "piVar13 = (int *)*piVar11" (identifier "piVar13") (= "=") (cast_expression "(int *)*piVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (expression_statement "iVar17 = *piVar13;" (assignment_expression "iVar17 = *piVar13" (identifier "iVar17") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1])" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" (* "*") (cast_expression "(code **)(puVar19 + 0x29b0c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29b0c8)" (( "(") (binary_expression "puVar19 + 0x29b0c8" (identifier "puVar19") (+ "+") (number_literal "0x29b0c8")) () ")"))))) () ")")) (argument_list "(puVar9,iVar4 + -0x62ac,piVar13[1])" (( "(") (identifier "puVar9") (, ",") (binary_expression "iVar4 + -0x62ac" (identifier "iVar4") (+ "+") (number_literal "-0x62ac")) (, ",") (subscript_expression "piVar13[1]" (identifier "piVar13") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "iVar6 = *piVar11;" (assignment_expression "iVar6 = *piVar11" (identifier "iVar6") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));" (assignment_expression "uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4))" (identifier "uVar7") (= "=") (call_expression "(**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4))" (parenthesized_expression "(**(code **)(puVar19 + 0x29aebc))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29aebc)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29aebc)" (* "*") (cast_expression "(code **)(puVar19 + 0x29aebc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29aebc)" (( "(") (binary_expression "puVar19 + 0x29aebc" (identifier "puVar19") (+ "+") (number_literal "0x29aebc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar6 + 4))" (( "(") (pointer_expression "*(undefined4 *)(iVar6 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 4)" (( "(") (binary_expression "iVar6 + 4" (identifier "iVar6") (+ "+") (number_literal "4")) () ")")))) () ")")))) (; ";")) (if_statement "if (uVar7 < 10) {\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }" (if "if") (parenthesized_expression "(uVar7 < 10)" (( "(") (binary_expression "uVar7 < 10" (identifier "uVar7") (< "<") (number_literal "10")) () ")")) (compound_statement "{\n            do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);\n            iVar6 = *piVar11;\n          }" ({ "{") (do_statement "do {\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            } while (uVar7 != 10);" (do "do") (compound_statement "{\n              uVar7 = uVar7 + 1;\n              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);\n            }" ({ "{") (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" (* "*") (cast_expression "(code **)(puVar19 + 0x29b0c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29b0c8)" (( "(") (binary_expression "puVar19 + 0x29b0c8" (identifier "puVar19") (+ "+") (number_literal "0x29b0c8")) () ")"))))) () ")")) (argument_list "(puVar9,iVar12 + 0x2158)" (( "(") (identifier "puVar9") (, ",") (binary_expression "iVar12 + 0x2158" (identifier "iVar12") (+ "+") (number_literal "0x2158")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar7 != 10)" (( "(") (binary_expression "uVar7 != 10" (identifier "uVar7") (!= "!=") (number_literal "10")) () ")")) (; ";")) (expression_statement "iVar6 = *piVar11;" (assignment_expression "iVar6 = *piVar11" (identifier "iVar6") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c))" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" (* "*") (cast_expression "(code **)(puVar19 + 0x29b0c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29b0c8)" (( "(") (binary_expression "puVar19 + 0x29b0c8" (identifier "puVar19") (+ "+") (number_literal "0x29b0c8")) () ")"))))) () ")")) (argument_list "(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c))" (( "(") (identifier "puVar9") (, ",") (binary_expression "iVar5 + -0x38d0" (identifier "iVar5") (+ "+") (number_literal "-0x38d0")) (, ",") (pointer_expression "*(undefined4 *)(iVar6 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")")))) () ")"))) (; ";")) (if_statement "if (*(char **)(*piVar11 + 8) != (char *)0x0) {\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }" (if "if") (parenthesized_expression "(*(char **)(*piVar11 + 8) != (char *)0x0)" (( "(") (binary_expression "*(char **)(*piVar11 + 8) != (char *)0x0" (pointer_expression "*(char **)(*piVar11 + 8)" (* "*") (cast_expression "(char **)(*piVar11 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar11 + 8)" (( "(") (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (+ "+") (number_literal "8")) () ")")))) (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            uVar7 = (uint)**(char **)(*piVar11 + 8);\n            if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }\n          }" ({ "{") (expression_statement "uVar7 = (uint)**(char **)(*piVar11 + 8);" (assignment_expression "uVar7 = (uint)**(char **)(*piVar11 + 8)" (identifier "uVar7") (= "=") (binary_expression "(uint)**(char **)(*piVar11 + 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (pointer_expression "*(char **)(*piVar11 + 8)" (* "*") (cast_expression "(char **)(*piVar11 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar11 + 8)" (( "(") (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (+ "+") (number_literal "8")) () ")")))))) (; ";")) (if_statement "if (uVar7 != 0) {\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar6 = 0;\n              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();\n              do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);\n            }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();" (assignment_expression "piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))()" (identifier "piVar13") (= "=") (cast_expression "(int *)(**(code **)(puVar19 + 0x29afb8))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar19 + 0x29afb8))()" (parenthesized_expression "(**(code **)(puVar19 + 0x29afb8))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29afb8)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29afb8)" (* "*") (cast_expression "(code **)(puVar19 + 0x29afb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29afb8)" (( "(") (binary_expression "puVar19 + 0x29afb8" (identifier "puVar19") (+ "+") (number_literal "0x29afb8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (do_statement "do {\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              } while (uVar7 != 0);" (do "do") (compound_statement "{\n                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }\n                iVar6 = iVar6 + 1;\n                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);\n                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n              }" ({ "{") (while_statement "while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }" (while "while") (parenthesized_expression "((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0)" (( "(") (binary_expression "(*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0" (parenthesized_expression "(*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40)" (( "(") (binary_expression "*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40" (pointer_expression "*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2)" (* "*") (cast_expression "(ushort *)(*piVar13 + (uVar7 & 0xff) * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar13 + (uVar7 & 0xff) * 2)" (( "(") (binary_expression "*piVar13 + (uVar7 & 0xff) * 2" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (+ "+") (binary_expression "(uVar7 & 0xff) * 2" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);\n                  iVar6 = iVar6 + 1;\n                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);\n                  if (uVar7 == 0) goto LAB_0010e688;\n                }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" (* "*") (cast_expression "(code **)(puVar19 + 0x29b0c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29b0c8)" (( "(") (binary_expression "puVar19 + 0x29b0c8" (identifier "puVar19") (+ "+") (number_literal "0x29b0c8")) () ")"))))) () ")")) (argument_list "(puVar9,iVar18 + -0x38c8)" (( "(") (identifier "puVar9") (, ",") (binary_expression "iVar18 + -0x38c8" (identifier "iVar18") (+ "+") (number_literal "-0x38c8")) () ")"))) (; ";")) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);" (assignment_expression "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" (identifier "uVar7") (= "=") (binary_expression "(uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)(*(int *)(*piVar11 + 8) + iVar6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*piVar11 + 8) + iVar6)" (( "(") (binary_expression "*(int *)(*piVar11 + 8) + iVar6" (pointer_expression "*(int *)(*piVar11 + 8)" (* "*") (cast_expression "(int *)(*piVar11 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar11 + 8)" (( "(") (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (identifier "iVar6")) () ")"))))) (; ";")) (if_statement "if (uVar7 == 0) goto LAB_0010e688;" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0010e688;" (goto "goto") (statement_identifier "LAB_0010e688") (; ";"))) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" (* "*") (cast_expression "(code **)(puVar19 + 0x29b0c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29b0c8)" (( "(") (binary_expression "puVar19 + 0x29b0c8" (identifier "puVar19") (+ "+") (number_literal "0x29b0c8")) () ")"))))) () ")")) (argument_list "(puVar9,iVar16 + -0x690,uVar7)" (( "(") (identifier "puVar9") (, ",") (binary_expression "iVar16 + -0x690" (identifier "iVar16") (+ "+") (number_literal "-0x690")) (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);" (assignment_expression "uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" (identifier "uVar7") (= "=") (binary_expression "(uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)(*(int *)(*piVar11 + 8) + iVar6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*piVar11 + 8) + iVar6)" (( "(") (binary_expression "*(int *)(*piVar11 + 8) + iVar6" (pointer_expression "*(int *)(*piVar11 + 8)" (* "*") (cast_expression "(int *)(*piVar11 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar11 + 8)" (( "(") (binary_expression "*piVar11 + 8" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (identifier "iVar6")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0010e688:\n          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);" (statement_identifier "LAB_0010e688") (: ":") (expression_statement "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);" (call_expression "(**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b0c8))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29b0c8)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29b0c8)" (* "*") (cast_expression "(code **)(puVar19 + 0x29b0c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29b0c8)" (( "(") (binary_expression "puVar19 + 0x29b0c8" (identifier "puVar19") (+ "+") (number_literal "0x29b0c8")) () ")"))))) () ")")) (argument_list "(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc)" (( "(") (identifier "puVar9") (, ",") (binary_expression "*(int *)(puVar19 + 0x29a470) + -0x4bdc" (pointer_expression "*(int *)(puVar19 + 0x29a470)" (* "*") (cast_expression "(int *)(puVar19 + 0x29a470)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x29a470)" (( "(") (binary_expression "puVar19 + 0x29a470" (identifier "puVar19") (+ "+") (number_literal "0x29a470")) () ")")))) (+ "+") (number_literal "-0x4bdc")) () ")"))) (; ";"))) (expression_statement "iVar6 = iStack_60;" (assignment_expression "iVar6 = iStack_60" (identifier "iVar6") (= "=") (identifier "iStack_60")) (; ";")) (} "}"))) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" (identifier "piVar11") (= "=") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar15 = iVar17;" (assignment_expression "iVar15 = iVar17" (identifier "iVar15") (= "=") (identifier "iVar17")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar14 < iVar6)" (( "(") (binary_expression "iVar14 < iVar6" (identifier "iVar14") (< "<") (identifier "iVar6")) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar19 + 0x29b010))(puVar9);" (call_expression "(**(code **)(puVar19 + 0x29b010))(puVar9)" (parenthesized_expression "(**(code **)(puVar19 + 0x29b010))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29b010)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29b010)" (* "*") (cast_expression "(code **)(puVar19 + 0x29b010)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29b010)" (( "(") (binary_expression "puVar19 + 0x29b010" (identifier "puVar19") (+ "+") (number_literal "0x29b010")) () ")"))))) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar19 + 0x29ab44))(piVar3);" (call_expression "(**(code **)(puVar19 + 0x29ab44))(piVar3)" (parenthesized_expression "(**(code **)(puVar19 + 0x29ab44))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x29ab44)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x29ab44)" (* "*") (cast_expression "(code **)(puVar19 + 0x29ab44)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29ab44)" (( "(") (binary_expression "puVar19 + 0x29ab44" (identifier "puVar19") (+ "+") (number_literal "0x29ab44")) () ")"))))) () ")")) (argument_list "(piVar3)" (( "(") (identifier "piVar3") () ")"))) (; ";")) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (} "}")))) (if_statement "if (iStack_5c == *piVar2) {\n    return uVar8;\n  }" (if "if") (parenthesized_expression "(iStack_5c == *piVar2)" (( "(") (binary_expression "iStack_5c == *piVar2" (identifier "iStack_5c") (== "==") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) () ")")) (compound_statement "{\n    return uVar8;\n  }" ({ "{") (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}"))) (expression_statement "pcVar20 = *(code **)(puVar19 + 0x29abe8);" (assignment_expression "pcVar20 = *(code **)(puVar19 + 0x29abe8)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(puVar19 + 0x29abe8)" (* "*") (cast_expression "(code **)(puVar19 + 0x29abe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x29abe8)" (( "(") (binary_expression "puVar19 + 0x29abe8" (identifier "puVar19") (+ "+") (number_literal "0x29abe8")) () ")"))))) (; ";")) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)(pcVar20 + 0x29a13c);" (assignment_expression "iVar4 = *(int *)(pcVar20 + 0x29a13c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar20 + 0x29a13c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x29a13c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x29a13c)" (( "(") (binary_expression "pcVar20 + 0x29a13c" (identifier "pcVar20") (+ "+") (number_literal "0x29a13c")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar4 + -0x507c) == 0) {\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + -0x507c) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + -0x507c) == 0" (pointer_expression "*(int *)(iVar4 + -0x507c)" (* "*") (cast_expression "(int *)(iVar4 + -0x507c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + -0x507c)" (( "(") (binary_expression "iVar4 + -0x507c" (identifier "iVar4") (+ "+") (number_literal "-0x507c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();\n    *(undefined4 *)(iVar4 + -0x507c) = uVar8;\n    return 1;\n  }" ({ "{") (expression_statement "uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();" (assignment_expression "uVar8 = (**(code **)(pcVar20 + 0x29ae9c))()" (identifier "uVar8") (= "=") (call_expression "(**(code **)(pcVar20 + 0x29ae9c))()" (parenthesized_expression "(**(code **)(pcVar20 + 0x29ae9c))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x29ae9c)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x29ae9c)" (* "*") (cast_expression "(code **)(pcVar20 + 0x29ae9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x29ae9c)" (( "(") (binary_expression "pcVar20 + 0x29ae9c" (identifier "pcVar20") (+ "+") (number_literal "0x29ae9c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar4 + -0x507c) = uVar8;" (assignment_expression "*(undefined4 *)(iVar4 + -0x507c) = uVar8" (pointer_expression "*(undefined4 *)(iVar4 + -0x507c)" (* "*") (cast_expression "(undefined4 *)(iVar4 + -0x507c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + -0x507c)" (( "(") (binary_expression "iVar4 + -0x507c" (identifier "iVar4") (+ "+") (number_literal "-0x507c")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (primitive_type) 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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (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: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (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 (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (number_literal) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (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: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (pointer_expression argument: (identifier)) (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: (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: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (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 (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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)))))))) (if_statement condition: (parenthesized_expression (binary_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: (pointer_expression argument: (identifier)) right: (number_literal))))) 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: (binary_expression left: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (identifier)))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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: (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: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (return_statement (number_literal)))) (return_statement (number_literal)))))

undefined4 MASKED(int param_1)

{
  undefined *puVar1;
  int *piVar2;
  int *piVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  uint uVar7;
  undefined4 uVar8;
  undefined *puVar9;
  undefined *puVar10;
  int *piVar11;
  int iVar12;
  int *piVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  undefined *puVar19;
  code *pcVar20;
  int iStack_60;
  int iStack_5c;
  int iStack_58;
  undefined *puStack_54;
  
  puVar1 = PTR_s_t_to_left_003a88e4;
  (*(code *)PTR_LogMagickEvent_003a91e0)
            (0x8000,PTR_s_t_to_left_003a88e4 + -0x3988,PTR_s_t_to_left_003a88e4 + -0x3630,0x25e);
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x3940,puVar1 + -0x3988,0x25f,
               PTR_s_t_to_left_003a88e4 + -0x3640);
  }
  else if (*(int *)(param_1 + 0x28) == -0x54535255) {
    return *(undefined4 *)(param_1 + 4);
  }
  puVar10 = puVar1 + -0x3988;
  puVar9 = PTR_s_t_to_left_003a88e4 + -0x391c;
  puVar19 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)(puVar9,puVar10,0x260,PTR_s_t_to_left_003a88e4 + -0x3640);
  piVar2 = *(int **)(puVar19 + 0x29adb4);
  puStack_54 = puVar1;
  iStack_5c = *piVar2;
  if (puVar9 == (undefined *)0x0) {
    puVar9 = (undefined *)**(undefined4 **)(puVar19 + 0x29aa68);
  }
  iStack_58 = param_1;
  piVar3 = (int *)(**(code **)(puVar19 + 0x29a808))
                            (*(int *)(puVar19 + 0x29a46c) + 0x6c9c,&iStack_60,puVar10);
  if (piVar3 == (int *)0x0) {
    uVar8 = 0;
  }
  else {
    iVar4 = *(int *)(puVar19 + 0x29a468);
    if (0 < iStack_60) {
      iVar14 = 0;
      iVar16 = *(int *)(puVar19 + 0x29a470);
      iVar18 = *(int *)(puVar19 + 0x29a468);
      iVar12 = *(int *)(puVar19 + 0x29a4d4);
      iVar5 = *(int *)(puVar19 + 0x29a468);
      iVar6 = iStack_60;
      piVar11 = piVar3;
      iVar15 = 0;
      do {
        piVar13 = (int *)*piVar11;
        iVar17 = iVar15;
        if (piVar13[9] == 0) {
          iVar17 = *piVar13;
          if ((iVar15 == 0) ||
             (iVar6 = (**(code **)(puVar19 + 0x29ac94))(iVar15,iVar17), iVar6 != 0)) {
            if (iVar17 != 0) {
              (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4620,iVar17)
              ;
            }
            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a468) + -0x38ec);
            (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a464) + 0x4644);
            piVar13 = (int *)*piVar11;
            iVar17 = *piVar13;
          }
          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar4 + -0x62ac,piVar13[1]);
          iVar6 = *piVar11;
          uVar7 = (**(code **)(puVar19 + 0x29aebc))(*(undefined4 *)(iVar6 + 4));
          if (uVar7 < 10) {
            do {
              uVar7 = uVar7 + 1;
              (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar12 + 0x2158);
            } while (uVar7 != 10);
            iVar6 = *piVar11;
          }
          (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar5 + -0x38d0,*(undefined4 *)(iVar6 + 0x1c));
          if (*(char **)(*piVar11 + 8) != (char *)0x0) {
            uVar7 = (uint)**(char **)(*piVar11 + 8);
            if (uVar7 != 0) {
              iVar6 = 0;
              piVar13 = (int *)(**(code **)(puVar19 + 0x29afb8))();
              do {
                while ((*(ushort *)(*piVar13 + (uVar7 & 0xff) * 2) & 0x40) == 0) {
                  (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar18 + -0x38c8);
                  iVar6 = iVar6 + 1;
                  uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);
                  if (uVar7 == 0) goto LAB_0010e688;
                }
                iVar6 = iVar6 + 1;
                (**(code **)(puVar19 + 0x29b0c8))(puVar9,iVar16 + -0x690,uVar7);
                uVar7 = (uint)*(char *)(*(int *)(*piVar11 + 8) + iVar6);
              } while (uVar7 != 0);
            }
          }
LAB_0010e688:
          (**(code **)(puVar19 + 0x29b0c8))(puVar9,*(int *)(puVar19 + 0x29a470) + -0x4bdc);
          iVar6 = iStack_60;
        }
        iVar14 = iVar14 + 1;
        piVar11 = piVar11 + 1;
        iVar15 = iVar17;
      } while (iVar14 < iVar6);
    }
    (**(code **)(puVar19 + 0x29b010))(puVar9);
    (**(code **)(puVar19 + 0x29ab44))(piVar3);
    uVar8 = 1;
  }
  if (iStack_5c == *piVar2) {
    return uVar8;
  }
  pcVar20 = *(code **)(puVar19 + 0x29abe8);
  (*pcVar20)();
  iVar4 = *(int *)(pcVar20 + 0x29a13c);
  if (*(int *)(iVar4 + -0x507c) == 0) {
    uVar8 = (**(code **)(pcVar20 + 0x29ae9c))();
    *(undefined4 *)(iVar4 + -0x507c) = uVar8;
    return 1;
  }
  return 1;
}

