
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */

void ReplaceImageInList(Image **images,Image *replace)

{
  _Image *p_Var1;
  int iVar2;
  _Image *p_Var3;
  int *piVar4;
  undefined *puVar5;
  Image *pIVar6;
  int iVar7;
  undefined *puVar8;
  code *pcVar9;
  
  if (images == (Image **)0x0) {
LAB_00107764:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,
               PTR_s_t_to_left_003a88e4 + -0x4698);
  }
  else {
    if (replace == (Image *)0x0) {
LAB_00107740:
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,
                 PTR_s_t_to_left_003a88e4 + -0x4698);
      goto LAB_00107764;
    }
    if (replace->signature != 0xabacadab) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,
                 PTR_s_t_to_left_003a88e4 + -0x4698);
      goto LAB_00107740;
    }
    if (replace->debug != MagickFalse) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,
                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename);
    }
    pIVar6 = *images;
    if (pIVar6 == (Image *)0x0) {
      return;
    }
    if (pIVar6->signature == 0xabacadab) {
      p_Var1 = (_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace);
      p_Var3 = pIVar6->next;
      p_Var1->next = p_Var3;
      if (p_Var3 != (_Image *)0x0) {
        p_Var3->previous = p_Var1;
      }
      p_Var1 = (_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1);
      p_Var3 = (*images)->previous;
      p_Var1->previous = p_Var3;
      if (p_Var3 != (_Image *)0x0) {
        p_Var3->next = p_Var1;
      }
      (*(code *)PTR_DestroyImage_003a8f4c)(*images);
      *images = p_Var1;
      return;
    }
  }
  puVar5 = PTR_s_t_to_left_003a88e4 + -0x4920;
  piVar4 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);
  puVar8 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)(piVar4,puVar5,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);
  if (piVar4 != (int *)0x0) {
    if (puVar5 != (undefined *)0x0) {
      if (*(int *)(puVar5 + 0x336c) == -0x54535255) {
        if (*(int *)(puVar5 + 0x3350) != 0) {
          (**(code **)(puVar8 + 0x2a1a34))
                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,
                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,
                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);
        }
        iVar7 = *piVar4;
        if (iVar7 == 0) {
          return;
        }
        if (*(int *)(iVar7 + 0x336c) == -0x54535255) {
          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);
          iVar7 = *(int *)(iVar7 + 0x3364);
          *(int *)(iVar2 + 0x3364) = iVar7;
          if (iVar7 != 0) {
            *(int *)(iVar7 + 0x3368) = iVar2;
          }
          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);
          iVar2 = *(int *)(*piVar4 + 0x3368);
          *(int *)(iVar7 + 0x3368) = iVar2;
          if (iVar2 != 0) {
            *(int *)(iVar2 + 0x3364) = iVar7;
          }
          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);
          *piVar4 = iVar7;
          return;
        }
        goto LAB_00107928;
      }
      (**(code **)(puVar8 + 0x2a1e5c))
                (*(int *)(puVar8 + 0x2a1138) + -0x481c,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4dc,
                 *(int *)(puVar8 + 0x2a1138) + -0x46cc);
    }
    (**(code **)(puVar8 + 0x2a1e5c))
              (*(int *)(puVar8 + 0x2a1138) + -0x4838,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4db,
               *(int *)(puVar8 + 0x2a1138) + -0x46cc);
  }
  (**(code **)(puVar8 + 0x2a1e5c))
            (*(int *)(puVar8 + 0x2a1138) + -0x48f0,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4da,
             *(int *)(puVar8 + 0x2a1138) + -0x46cc);
LAB_00107928:
  pcVar9 = *(code **)(puVar8 + 0x2a1e5c);
  piVar4 = (int *)(*(int *)(puVar8 + 0x2a1138) + -0x4d48);
  (*pcVar9)(piVar4,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar8 + 0x2a1138) + -0x46cc
           );
  if (piVar4 == (int *)0x0) {
    (**(code **)(pcVar9 + 0x2a1cbc))
              (*(int *)(pcVar9 + 0x2a0f98) + -0x48f0,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x516,
               *(int *)(pcVar9 + 0x2a0f98) + -0x4700);
    return;
  }
  iVar7 = *piVar4;
  if (iVar7 != 0) {
    if (*(int *)(iVar7 + 0x336c) != -0x54535255) {
      (**(code **)(pcVar9 + 0x2a1cbc))
                (*(int *)(pcVar9 + 0x2a0f98) + -0x4d48,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x519,
                 *(int *)(pcVar9 + 0x2a0f98) + -0x4700);
      return;
    }
    if (*(int *)(iVar7 + 0x3350) == 0) goto LAB_001079dc;
    (**(code **)(pcVar9 + 0x2a1894))
              (0x8000,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,*(int *)(pcVar9 + 0x2a0f98) + -0x4714,
               0x51b,*(int *)(pcVar9 + 0x2a0f98) + -0x62ac,iVar7 + 0x340,pcVar9 + 0x2a8f64);
    iVar2 = *piVar4;
    for (iVar7 = *(int *)(*piVar4 + 0x3368); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x3368)) {
LAB_001079dc:
      iVar2 = iVar7;
    }
    *piVar4 = iVar2;
    do {
      iVar7 = *(int *)(iVar2 + 0x3364);
      *(undefined4 *)(iVar2 + 0x3364) = *(undefined4 *)(iVar2 + 0x3368);
      *(int *)(iVar2 + 0x3368) = iVar7;
      iVar2 = iVar7;
    } while (iVar7 != 0);
  }
  return;
}



void ReplaceImageInList(int *param_1,int param_2)

{
  int iVar1;
  int *piVar2;
  undefined *puVar3;
  int iVar4;
  undefined *puVar5;
  code *pcVar6;
  
  if (param_1 == (int *)0x0) {
LAB_00107764:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,
               PTR_s_t_to_left_003a88e4 + -0x4698);
  }
  else {
    if (param_2 == 0) {
LAB_00107740:
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,
                 PTR_s_t_to_left_003a88e4 + -0x4698);
      goto LAB_00107764;
    }
    if (*(int *)(param_2 + 0x336c) != -0x54535255) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,
                 PTR_s_t_to_left_003a88e4 + -0x4698);
      goto LAB_00107740;
    }
    if (*(int *)(param_2 + 0x3350) != 0) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,
                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);
    }
    iVar4 = *param_1;
    if (iVar4 == 0) {
      return;
    }
    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {
      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);
      iVar4 = *(int *)(iVar4 + 0x3368);
      *(int *)(iVar1 + 0x3368) = iVar4;
      if (iVar4 != 0) {
        *(int *)(iVar4 + 0x3364) = iVar1;
      }
      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);
      iVar1 = *(int *)(*param_1 + 0x3364);
      *(int *)(iVar4 + 0x3364) = iVar1;
      if (iVar1 != 0) {
        *(int *)(iVar1 + 0x3368) = iVar4;
      }
      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);
      *param_1 = iVar4;
      return;
    }
  }
  puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;
  piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);
  puVar5 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);
  if (piVar2 != (int *)0x0) {
    if (puVar3 != (undefined *)0x0) {
      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {
        if (*(int *)(puVar3 + 0x3350) != 0) {
          (**(code **)(puVar5 + 0x2a1a34))
                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,
                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,
                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);
        }
        iVar4 = *piVar2;
        if (iVar4 == 0) {
          return;
        }
        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {
          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);
          iVar4 = *(int *)(iVar4 + 0x3364);
          *(int *)(iVar1 + 0x3364) = iVar4;
          if (iVar4 != 0) {
            *(int *)(iVar4 + 0x3368) = iVar1;
          }
          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);
          iVar1 = *(int *)(*piVar2 + 0x3368);
          *(int *)(iVar4 + 0x3368) = iVar1;
          if (iVar1 != 0) {
            *(int *)(iVar1 + 0x3364) = iVar4;
          }
          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);
          *piVar2 = iVar4;
          return;
        }
        goto LAB_00107928;
      }
      (**(code **)(puVar5 + 0x2a1e5c))
                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,
                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);
    }
    (**(code **)(puVar5 + 0x2a1e5c))
              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,
               *(int *)(puVar5 + 0x2a1138) + -0x46cc);
  }
  (**(code **)(puVar5 + 0x2a1e5c))
            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,
             *(int *)(puVar5 + 0x2a1138) + -0x46cc);
LAB_00107928:
  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);
  piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);
  (*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc
           );
  if (piVar2 == (int *)0x0) {
    (**(code **)(pcVar6 + 0x2a1cbc))
              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,
               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);
    return;
  }
  iVar4 = *piVar2;
  if (iVar4 != 0) {
    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {
      (**(code **)(pcVar6 + 0x2a1cbc))
                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,
                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);
      return;
    }
    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;
    (**(code **)(pcVar6 + 0x2a1894))
              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,
               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);
    iVar1 = *piVar2;
    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {
LAB_001079dc:
      iVar1 = iVar4;
    }
    *piVar2 = iVar1;
    do {
      iVar4 = *(int *)(iVar1 + 0x3364);
      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);
      *(int *)(iVar1 + 0x3368) = iVar4;
      iVar1 = iVar4;
    } while (iVar4 != 0);
  }
  return;
}


lui gp,0x2b
addiu gp,gp,-0x6d5c
addu gp,gp,t9
addiu sp,sp,-0x30
sw gp,0x18(sp)
sw ra,0x2c(sp)
sw s2,0x28(sp)
sw s1,0x24(sp)
beq a0,zero,0x00107764
_sw s0,0x20(sp)
beq a1,zero,0x00107740
_or s1,a1,zero
lui v0,0xabac
lw v1,0x336c(a1)
ori v0,v0,0xadab
bne v1,v0,0x00107720
_lw a3,-0x7fcc(gp)
lw v0,0x3350(a1)
bne v0,zero,0x001076e4
_or s0,a0,zero
lw s2,0x0(s0)
beq s2,zero,0x001076cc
_lui v0,0xabac
lw v1,0x336c(s2)
ori v0,v0,0xadab
bne v1,v0,0x00107788
_lw t9,-0x7958(gp)
jalr t9
_or a0,s1,zero
lw v1,0x3368(s2)
lw gp,0x18(sp)
beq v1,zero,0x00107694
_sw v1,0x3368(v0)
sw v0,0x3364(v1)
lw t9,-0x7464(gp)
jalr t9
_or a0,v0,zero
lw v1,0x0(s0)
or s1,v0,zero
lw gp,0x18(sp)
lw v0,0x3364(v1)
beq v0,zero,0x001076bc
_sw v0,0x3364(s1)
sw s1,0x3368(v0)
lw t9,-0x7964(gp)
jalr t9
_lw a0,0x0(s0)
sw s1,0x0(s0)
lw ra,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x30
addiu v0,a1,0x340
lw a2,-0x7fcc(gp)
lw a1,-0x7fcc(gp)
li a3,0x4a1
lw t9,-0x76d0(gp)
ori a0,zero,0x8000
sw v0,0x14(sp)
addiu a2,a2,-0x46ac
lw v0,-0x7fcc(gp)
addiu a1,a1,-0x4920
addiu v0,v0,-0x62ac
jalr t9
_sw v0,0x10(sp)
b 0x0010765c
_lw gp,0x18(sp)
li a2,0x49f
lw a1,-0x7fcc(gp)
lw a0,-0x7fcc(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0x4698
addiu a1,a1,-0x4920
jalr t9
_addiu a0,a0,-0x481c
lw a3,-0x7fcc(gp)
li a2,0x49e
lw a1,-0x7fcc(gp)
lw a0,-0x7fcc(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0x4698
addiu a1,a1,-0x4920
jalr t9
_addiu a0,a0,-0x4838
lw a3,-0x7fcc(gp)
li a2,0x49d
lw a1,-0x7fcc(gp)
lw a0,-0x7fcc(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0x4698
addiu a1,a1,-0x4920
jalr t9
_addiu a0,a0,-0x48f0
lw a3,-0x7fcc(gp)
li a2,0x4a4
lw a1,-0x7fcc(gp)
lw a0,-0x7fcc(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0x4698
addiu a1,a1,-0x4920
jalr t9
_addiu a0,a0,-0x4d48
(translation_unit "void ReplaceImageInList(int *param_1,int param_2)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  code *pcVar6;\n  \n  if (param_1 == (int *)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }\n  puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;\n  piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);\n  puVar5 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);\n  if (piVar2 != (int *)0x0) {\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }\n  (**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc);\nLAB_00107928:\n  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);\n  piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);\n  (*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           );\n  if (piVar2 == (int *)0x0) {\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }\n  iVar4 = *piVar2;\n  if (iVar4 != 0) {\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }\n  return;\n}\n\n" (function_definition "void ReplaceImageInList(int *param_1,int param_2)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  code *pcVar6;\n  \n  if (param_1 == (int *)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }\n  puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;\n  piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);\n  puVar5 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);\n  if (piVar2 != (int *)0x0) {\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }\n  (**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc);\nLAB_00107928:\n  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);\n  piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);\n  (*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           );\n  if (piVar2 == (int *)0x0) {\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }\n  iVar4 = *piVar2;\n  if (iVar4 != 0) {\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }\n  return;\n}" primitive_type (function_declarator "ReplaceImageInList(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  code *pcVar6;\n  \n  if (param_1 == (int *)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }\n  puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;\n  piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);\n  puVar5 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);\n  if (piVar2 != (int *)0x0) {\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }\n  (**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc);\nLAB_00107928:\n  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);\n  piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);\n  (*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           );\n  if (piVar2 == (int *)0x0) {\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }\n  iVar4 = *piVar2;\n  if (iVar4 != 0) {\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (if_statement "if (param_1 == (int *)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }" { (labeled_statement "LAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x48f0" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }" else (compound_statement "{\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }" { (if_statement "if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }" { (labeled_statement "LAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4838" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_00107764;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x336c)" * (cast_expression "(int *)(param_2 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x336c)" ( (binary_expression "param_2 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x481c" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00107740;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x3350) != 0)" ( (binary_expression "*(int *)(param_2 + 0x3350) != 0" (pointer_expression "*(int *)(param_2 + 0x3350)" * (cast_expression "(int *)(param_2 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x3350)" ( (binary_expression "param_2 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" (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 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" ( number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x46ac" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "param_2 + 0x340" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = *param_1;" (assignment_expression "iVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (iVar4 == 0) {\n      return;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar4 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x336c)" * (cast_expression "(int *)(iVar4 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x336c)" ( (binary_expression "iVar4 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }" { (expression_statement "iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);" (assignment_expression "iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2)" identifier = (call_expression "(*(code *)PTR_GetLastImageInList_003a8f58)(param_2)" (parenthesized_expression "(*(code *)PTR_GetLastImageInList_003a8f58)" ( (pointer_expression "*(code *)PTR_GetLastImageInList_003a8f58" * (cast_expression "(code *)PTR_GetLastImageInList_003a8f58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(iVar4 + 0x3368);" (assignment_expression "iVar4 = *(int *)(iVar4 + 0x3368)" identifier = (pointer_expression "*(int *)(iVar4 + 0x3368)" * (cast_expression "(int *)(iVar4 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3368)" ( (binary_expression "iVar4 + 0x3368" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar1 + 0x3368) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3368) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3368)" * (cast_expression "(int *)(iVar1 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3368)" ( (binary_expression "iVar1 + 0x3368" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }" { (expression_statement "*(int *)(iVar4 + 0x3364) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3364) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3364)" * (cast_expression "(int *)(iVar4 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3364)" ( (binary_expression "iVar4 + 0x3364" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);" (assignment_expression "iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1)" identifier = (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(iVar1)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" ( (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" * (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "iVar1 = *(int *)(*param_1 + 0x3364);" (assignment_expression "iVar1 = *(int *)(*param_1 + 0x3364)" identifier = (pointer_expression "*(int *)(*param_1 + 0x3364)" * (cast_expression "(int *)(*param_1 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x3364)" ( (binary_expression "*param_1 + 0x3364" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "*(int *)(iVar4 + 0x3364) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3364) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3364)" * (cast_expression "(int *)(iVar4 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3364)" ( (binary_expression "iVar4 + 0x3364" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }" { (expression_statement "*(int *)(iVar1 + 0x3368) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3368) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3368)" * (cast_expression "(int *)(iVar1 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3368)" ( (binary_expression "iVar1 + 0x3368" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(*param_1);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(*param_1)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))) ;) (expression_statement "*param_1 = iVar4;" (assignment_expression "*param_1 = iVar4" (pointer_expression "*param_1" * identifier) = identifier) ;) (return_statement "return;" return ;) })) }))) (expression_statement "puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;" (assignment_expression "puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal)) ;) (expression_statement "piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);" (assignment_expression "piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48)" identifier = (cast_expression "(int *)(PTR_s_t_to_left_003a88e4 + -0x4d48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x4d48)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4d48" identifier + number_literal) )))) ;) (expression_statement "puVar5 = PTR___assert_fail_003a9608;" (assignment_expression "puVar5 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698)" (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 "(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698)" ( identifier , identifier , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;) (if_statement "if (piVar2 != (int *)0x0) {\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }" { (if_statement "if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }" if (parenthesized_expression "(puVar3 != (undefined *)0x0)" ( (binary_expression "puVar3 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }" { (if_statement "if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }" if (parenthesized_expression "(*(int *)(puVar3 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(puVar3 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar3 + 0x336c)" * (cast_expression "(int *)(puVar3 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x336c)" ( (binary_expression "puVar3 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }" { (if_statement "if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }" if (parenthesized_expression "(*(int *)(puVar3 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar3 + 0x3350) != 0" (pointer_expression "*(int *)(puVar3 + 0x3350)" * (cast_expression "(int *)(puVar3 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x3350)" ( (binary_expression "puVar3 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }" { (expression_statement "(**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);" (call_expression "(**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1a34))" ( (pointer_expression "**(code **)(puVar5 + 0x2a1a34)" * (pointer_expression "*(code **)(puVar5 + 0x2a1a34)" * (cast_expression "(code **)(puVar5 + 0x2a1a34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1a34)" ( (binary_expression "puVar5 + 0x2a1a34" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340)" ( number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46ec" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x62ac" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar3 + 0x340" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (iVar4 == 0) {\n          return;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }" if (parenthesized_expression "(*(int *)(iVar4 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar4 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x336c)" * (cast_expression "(int *)(iVar4 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x336c)" ( (binary_expression "iVar4 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }" { (expression_statement "iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);" (assignment_expression "iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3)" identifier = (call_expression "(**(code **)(puVar5 + 0x2a1ca0))(puVar3)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1ca0))" ( (pointer_expression "**(code **)(puVar5 + 0x2a1ca0)" * (pointer_expression "*(code **)(puVar5 + 0x2a1ca0)" * (cast_expression "(code **)(puVar5 + 0x2a1ca0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1ca0)" ( (binary_expression "puVar5 + 0x2a1ca0" identifier + number_literal) ))))) )) (argument_list "(puVar3)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(iVar4 + 0x3364);" (assignment_expression "iVar4 = *(int *)(iVar4 + 0x3364)" identifier = (pointer_expression "*(int *)(iVar4 + 0x3364)" * (cast_expression "(int *)(iVar4 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3364)" ( (binary_expression "iVar4 + 0x3364" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar1 + 0x3364) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3364) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3364)" * (cast_expression "(int *)(iVar1 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3364)" ( (binary_expression "iVar1 + 0x3364" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }" { (expression_statement "*(int *)(iVar4 + 0x3368) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3368) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3368)" * (cast_expression "(int *)(iVar4 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3368)" ( (binary_expression "iVar4 + 0x3368" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);" (assignment_expression "iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1)" identifier = (call_expression "(**(code **)(puVar5 + 0x2a17ac))(iVar1)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a17ac))" ( (pointer_expression "**(code **)(puVar5 + 0x2a17ac)" * (pointer_expression "*(code **)(puVar5 + 0x2a17ac)" * (cast_expression "(code **)(puVar5 + 0x2a17ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a17ac)" ( (binary_expression "puVar5 + 0x2a17ac" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "iVar1 = *(int *)(*piVar2 + 0x3368);" (assignment_expression "iVar1 = *(int *)(*piVar2 + 0x3368)" identifier = (pointer_expression "*(int *)(*piVar2 + 0x3368)" * (cast_expression "(int *)(*piVar2 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0x3368)" ( (binary_expression "*piVar2 + 0x3368" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (expression_statement "*(int *)(iVar4 + 0x3368) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3368) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3368)" * (cast_expression "(int *)(iVar4 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3368)" ( (binary_expression "iVar4 + 0x3368" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }" { (expression_statement "*(int *)(iVar1 + 0x3364) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3364) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3364)" * (cast_expression "(int *)(iVar1 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3364)" ( (binary_expression "iVar1 + 0x3364" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "(**(code **)(puVar5 + 0x2a17a0))(*piVar2);" (call_expression "(**(code **)(puVar5 + 0x2a17a0))(*piVar2)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a17a0))" ( (pointer_expression "**(code **)(puVar5 + 0x2a17a0)" * (pointer_expression "*(code **)(puVar5 + 0x2a17a0)" * (cast_expression "(code **)(puVar5 + 0x2a17a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a17a0)" ( (binary_expression "puVar5 + 0x2a17a0" identifier + number_literal) ))))) )) (argument_list "(*piVar2)" ( (pointer_expression "*piVar2" * identifier) ))) ;) (expression_statement "*piVar2 = iVar4;" (assignment_expression "*piVar2 = iVar4" (pointer_expression "*piVar2" * identifier) = identifier) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_00107928;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1e5c))" ( (pointer_expression "**(code **)(puVar5 + 0x2a1e5c)" * (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" * (cast_expression "(code **)(puVar5 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1e5c)" ( (binary_expression "puVar5 + 0x2a1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc)" ( (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x481c" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1e5c))" ( (pointer_expression "**(code **)(puVar5 + 0x2a1e5c)" * (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" * (cast_expression "(code **)(puVar5 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1e5c)" ( (binary_expression "puVar5 + 0x2a1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc)" ( (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4838" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1e5c))" ( (pointer_expression "**(code **)(puVar5 + 0x2a1e5c)" * (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" * (cast_expression "(code **)(puVar5 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1e5c)" ( (binary_expression "puVar5 + 0x2a1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc)" ( (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x48f0" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00107928:\n  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);" statement_identifier : (expression_statement "pcVar6 = *(code **)(puVar5 + 0x2a1e5c);" (assignment_expression "pcVar6 = *(code **)(puVar5 + 0x2a1e5c)" identifier = (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" * (cast_expression "(code **)(puVar5 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1e5c)" ( (binary_expression "puVar5 + 0x2a1e5c" identifier + number_literal) ))))) ;)) (expression_statement "piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);" (assignment_expression "piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48)" identifier = (cast_expression "(int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar5 + 0x2a1138) + -0x4d48)" ( (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4d48" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           );" (call_expression "(*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           )" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           )" ( identifier , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }" { (expression_statement "(**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);" (call_expression "(**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" (parenthesized_expression "(**(code **)(pcVar6 + 0x2a1cbc))" ( (pointer_expression "**(code **)(pcVar6 + 0x2a1cbc)" * (pointer_expression "*(code **)(pcVar6 + 0x2a1cbc)" * (cast_expression "(code **)(pcVar6 + 0x2a1cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x2a1cbc)" ( (binary_expression "pcVar6 + 0x2a1cbc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" ( (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x48f0" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4700" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (iVar4 != 0) {\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }" { (if_statement "if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(iVar4 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x336c)" * (cast_expression "(int *)(iVar4 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x336c)" ( (binary_expression "iVar4 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }" { (expression_statement "(**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);" (call_expression "(**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" (parenthesized_expression "(**(code **)(pcVar6 + 0x2a1cbc))" ( (pointer_expression "**(code **)(pcVar6 + 0x2a1cbc)" * (pointer_expression "*(code **)(pcVar6 + 0x2a1cbc)" * (cast_expression "(code **)(pcVar6 + 0x2a1cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x2a1cbc)" ( (binary_expression "pcVar6 + 0x2a1cbc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" ( (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4d48" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4700" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;" if (parenthesized_expression "(*(int *)(iVar4 + 0x3350) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x3350) == 0" (pointer_expression "*(int *)(iVar4 + 0x3350)" * (cast_expression "(int *)(iVar4 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3350)" ( (binary_expression "iVar4 + 0x3350" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001079dc;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);" (call_expression "(**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64)" (parenthesized_expression "(**(code **)(pcVar6 + 0x2a1894))" ( (pointer_expression "**(code **)(pcVar6 + 0x2a1894)" * (pointer_expression "*(code **)(pcVar6 + 0x2a1894)" * (cast_expression "(code **)(pcVar6 + 0x2a1894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x2a1894)" ( (binary_expression "pcVar6 + 0x2a1894" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64)" ( number_literal , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4714" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x62ac" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar4 + 0x340" identifier + number_literal) , (binary_expression "pcVar6 + 0x2a8f64" identifier + number_literal) ))) ;) (expression_statement "iVar1 = *piVar2;" (assignment_expression "iVar1 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (for_statement "for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }" for ( (assignment_expression "iVar4 = *(int *)(*piVar2 + 0x3368)" identifier = (pointer_expression "*(int *)(*piVar2 + 0x3368)" * (cast_expression "(int *)(*piVar2 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0x3368)" ( (binary_expression "*piVar2 + 0x3368" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ; (binary_expression "iVar4 != 0" identifier != number_literal) ; (assignment_expression "iVar4 = *(int *)(iVar4 + 0x3368)" identifier = (pointer_expression "*(int *)(iVar4 + 0x3368)" * (cast_expression "(int *)(iVar4 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3368)" ( (binary_expression "iVar4 + 0x3368" identifier + number_literal) ))))) ) (compound_statement "{\nLAB_001079dc:\n      iVar1 = iVar4;\n    }" { (labeled_statement "LAB_001079dc:\n      iVar1 = iVar4;" statement_identifier : (expression_statement "iVar1 = iVar4;" (assignment_expression "iVar1 = iVar4" identifier = identifier) ;)) })) (expression_statement "*piVar2 = iVar1;" (assignment_expression "*piVar2 = iVar1" (pointer_expression "*piVar2" * identifier) = identifier) ;) (do_statement "do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);" do (compound_statement "{\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    }" { (expression_statement "iVar4 = *(int *)(iVar1 + 0x3364);" (assignment_expression "iVar4 = *(int *)(iVar1 + 0x3364)" identifier = (pointer_expression "*(int *)(iVar1 + 0x3364)" * (cast_expression "(int *)(iVar1 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3364)" ( (binary_expression "iVar1 + 0x3364" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);" (assignment_expression "*(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368)" (pointer_expression "*(undefined4 *)(iVar1 + 0x3364)" * (cast_expression "(undefined4 *)(iVar1 + 0x3364)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3364)" ( (binary_expression "iVar1 + 0x3364" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x3368)" * (cast_expression "(undefined4 *)(iVar1 + 0x3368)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3368)" ( (binary_expression "iVar1 + 0x3368" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar1 + 0x3368) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3368) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3368)" * (cast_expression "(int *)(iVar1 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3368)" ( (binary_expression "iVar1 + 0x3368" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar1 = iVar4;" (assignment_expression "iVar1 = iVar4" identifier = identifier) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n\nvoid ReplaceImageInList(Image **images,Image *replace)\n\n{\n  _Image *p_Var1;\n  int iVar2;\n  _Image *p_Var3;\n  int *piVar4;\n  undefined *puVar5;\n  Image *pIVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (images == (Image **)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (replace == (Image *)0x0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (replace->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (replace->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename);\n    }\n    pIVar6 = *images;\n    if (pIVar6 == (Image *)0x0) {\n      return;\n    }\n    if (pIVar6->signature == 0xabacadab) {\n      p_Var1 = (_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace);\n      p_Var3 = pIVar6->next;\n      p_Var1->next = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->previous = p_Var1;\n      }\n      p_Var1 = (_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1);\n      p_Var3 = (*images)->previous;\n      p_Var1->previous = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->next = p_Var1;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*images);\n      *images = p_Var1;\n      return;\n    }\n  }\n  puVar5 = PTR_s_t_to_left_003a88e4 + -0x4920;\n  piVar4 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);\n  puVar8 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(piVar4,puVar5,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);\n  if (piVar4 != (int *)0x0) {\n    if (puVar5 != (undefined *)0x0) {\n      if (*(int *)(puVar5 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar5 + 0x3350) != 0) {\n          (**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);\n        }\n        iVar7 = *piVar4;\n        if (iVar7 == 0) {\n          return;\n        }\n        if (*(int *)(iVar7 + 0x336c) == -0x54535255) {\n          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);\n          iVar7 = *(int *)(iVar7 + 0x3364);\n          *(int *)(iVar2 + 0x3364) = iVar7;\n          if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }\n          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);\n          iVar2 = *(int *)(*piVar4 + 0x3368);\n          *(int *)(iVar7 + 0x3368) = iVar2;\n          if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }\n          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);\n          *piVar4 = iVar7;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar8 + 0x2a1e5c))\n                (*(int *)(puVar8 + 0x2a1138) + -0x481c,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar8 + 0x2a1e5c))\n              (*(int *)(puVar8 + 0x2a1138) + -0x4838,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n  }\n  (**(code **)(puVar8 + 0x2a1e5c))\n            (*(int *)(puVar8 + 0x2a1138) + -0x48f0,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar8 + 0x2a1138) + -0x46cc);\nLAB_00107928:\n  pcVar9 = *(code **)(puVar8 + 0x2a1e5c);\n  piVar4 = (int *)(*(int *)(puVar8 + 0x2a1138) + -0x4d48);\n  (*pcVar9)(piVar4,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar8 + 0x2a1138) + -0x46cc\n           );\n  if (piVar4 == (int *)0x0) {\n    (**(code **)(pcVar9 + 0x2a1cbc))\n              (*(int *)(pcVar9 + 0x2a0f98) + -0x48f0,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n    return;\n  }\n  iVar7 = *piVar4;\n  if (iVar7 != 0) {\n    if (*(int *)(iVar7 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar9 + 0x2a1cbc))\n                (*(int *)(pcVar9 + 0x2a0f98) + -0x4d48,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar7 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar9 + 0x2a1894))\n              (0x8000,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,*(int *)(pcVar9 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar9 + 0x2a0f98) + -0x62ac,iVar7 + 0x340,pcVar9 + 0x2a8f64);\n    iVar2 = *piVar4;\n    for (iVar7 = *(int *)(*piVar4 + 0x3368); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x3368)) {\nLAB_001079dc:\n      iVar2 = iVar7;\n    }\n    *piVar4 = iVar2;\n    do {\n      iVar7 = *(int *)(iVar2 + 0x3364);\n      *(undefined4 *)(iVar2 + 0x3364) = *(undefined4 *)(iVar2 + 0x3368);\n      *(int *)(iVar2 + 0x3368) = iVar7;\n      iVar2 = iVar7;\n    } while (iVar7 != 0);\n  }\n  return;\n}\n\n" comment comment comment comment (function_definition "void ReplaceImageInList(Image **images,Image *replace)\n\n{\n  _Image *p_Var1;\n  int iVar2;\n  _Image *p_Var3;\n  int *piVar4;\n  undefined *puVar5;\n  Image *pIVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (images == (Image **)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (replace == (Image *)0x0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (replace->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (replace->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename);\n    }\n    pIVar6 = *images;\n    if (pIVar6 == (Image *)0x0) {\n      return;\n    }\n    if (pIVar6->signature == 0xabacadab) {\n      p_Var1 = (_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace);\n      p_Var3 = pIVar6->next;\n      p_Var1->next = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->previous = p_Var1;\n      }\n      p_Var1 = (_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1);\n      p_Var3 = (*images)->previous;\n      p_Var1->previous = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->next = p_Var1;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*images);\n      *images = p_Var1;\n      return;\n    }\n  }\n  puVar5 = PTR_s_t_to_left_003a88e4 + -0x4920;\n  piVar4 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);\n  puVar8 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(piVar4,puVar5,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);\n  if (piVar4 != (int *)0x0) {\n    if (puVar5 != (undefined *)0x0) {\n      if (*(int *)(puVar5 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar5 + 0x3350) != 0) {\n          (**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);\n        }\n        iVar7 = *piVar4;\n        if (iVar7 == 0) {\n          return;\n        }\n        if (*(int *)(iVar7 + 0x336c) == -0x54535255) {\n          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);\n          iVar7 = *(int *)(iVar7 + 0x3364);\n          *(int *)(iVar2 + 0x3364) = iVar7;\n          if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }\n          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);\n          iVar2 = *(int *)(*piVar4 + 0x3368);\n          *(int *)(iVar7 + 0x3368) = iVar2;\n          if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }\n          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);\n          *piVar4 = iVar7;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar8 + 0x2a1e5c))\n                (*(int *)(puVar8 + 0x2a1138) + -0x481c,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar8 + 0x2a1e5c))\n              (*(int *)(puVar8 + 0x2a1138) + -0x4838,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n  }\n  (**(code **)(puVar8 + 0x2a1e5c))\n            (*(int *)(puVar8 + 0x2a1138) + -0x48f0,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar8 + 0x2a1138) + -0x46cc);\nLAB_00107928:\n  pcVar9 = *(code **)(puVar8 + 0x2a1e5c);\n  piVar4 = (int *)(*(int *)(puVar8 + 0x2a1138) + -0x4d48);\n  (*pcVar9)(piVar4,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar8 + 0x2a1138) + -0x46cc\n           );\n  if (piVar4 == (int *)0x0) {\n    (**(code **)(pcVar9 + 0x2a1cbc))\n              (*(int *)(pcVar9 + 0x2a0f98) + -0x48f0,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n    return;\n  }\n  iVar7 = *piVar4;\n  if (iVar7 != 0) {\n    if (*(int *)(iVar7 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar9 + 0x2a1cbc))\n                (*(int *)(pcVar9 + 0x2a0f98) + -0x4d48,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar7 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar9 + 0x2a1894))\n              (0x8000,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,*(int *)(pcVar9 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar9 + 0x2a0f98) + -0x62ac,iVar7 + 0x340,pcVar9 + 0x2a8f64);\n    iVar2 = *piVar4;\n    for (iVar7 = *(int *)(*piVar4 + 0x3368); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x3368)) {\nLAB_001079dc:\n      iVar2 = iVar7;\n    }\n    *piVar4 = iVar2;\n    do {\n      iVar7 = *(int *)(iVar2 + 0x3364);\n      *(undefined4 *)(iVar2 + 0x3364) = *(undefined4 *)(iVar2 + 0x3368);\n      *(int *)(iVar2 + 0x3368) = iVar7;\n      iVar2 = iVar7;\n    } while (iVar7 != 0);\n  }\n  return;\n}" primitive_type (function_declarator "ReplaceImageInList(Image **images,Image *replace)" identifier (parameter_list "(Image **images,Image *replace)" ( (parameter_declaration "Image **images" type_identifier (pointer_declarator "**images" * (pointer_declarator "*images" * identifier))) , (parameter_declaration "Image *replace" type_identifier (pointer_declarator "*replace" * identifier)) ))) (compound_statement "{\n  _Image *p_Var1;\n  int iVar2;\n  _Image *p_Var3;\n  int *piVar4;\n  undefined *puVar5;\n  Image *pIVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (images == (Image **)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (replace == (Image *)0x0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (replace->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (replace->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename);\n    }\n    pIVar6 = *images;\n    if (pIVar6 == (Image *)0x0) {\n      return;\n    }\n    if (pIVar6->signature == 0xabacadab) {\n      p_Var1 = (_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace);\n      p_Var3 = pIVar6->next;\n      p_Var1->next = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->previous = p_Var1;\n      }\n      p_Var1 = (_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1);\n      p_Var3 = (*images)->previous;\n      p_Var1->previous = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->next = p_Var1;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*images);\n      *images = p_Var1;\n      return;\n    }\n  }\n  puVar5 = PTR_s_t_to_left_003a88e4 + -0x4920;\n  piVar4 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);\n  puVar8 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(piVar4,puVar5,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);\n  if (piVar4 != (int *)0x0) {\n    if (puVar5 != (undefined *)0x0) {\n      if (*(int *)(puVar5 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar5 + 0x3350) != 0) {\n          (**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);\n        }\n        iVar7 = *piVar4;\n        if (iVar7 == 0) {\n          return;\n        }\n        if (*(int *)(iVar7 + 0x336c) == -0x54535255) {\n          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);\n          iVar7 = *(int *)(iVar7 + 0x3364);\n          *(int *)(iVar2 + 0x3364) = iVar7;\n          if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }\n          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);\n          iVar2 = *(int *)(*piVar4 + 0x3368);\n          *(int *)(iVar7 + 0x3368) = iVar2;\n          if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }\n          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);\n          *piVar4 = iVar7;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar8 + 0x2a1e5c))\n                (*(int *)(puVar8 + 0x2a1138) + -0x481c,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar8 + 0x2a1e5c))\n              (*(int *)(puVar8 + 0x2a1138) + -0x4838,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n  }\n  (**(code **)(puVar8 + 0x2a1e5c))\n            (*(int *)(puVar8 + 0x2a1138) + -0x48f0,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar8 + 0x2a1138) + -0x46cc);\nLAB_00107928:\n  pcVar9 = *(code **)(puVar8 + 0x2a1e5c);\n  piVar4 = (int *)(*(int *)(puVar8 + 0x2a1138) + -0x4d48);\n  (*pcVar9)(piVar4,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar8 + 0x2a1138) + -0x46cc\n           );\n  if (piVar4 == (int *)0x0) {\n    (**(code **)(pcVar9 + 0x2a1cbc))\n              (*(int *)(pcVar9 + 0x2a0f98) + -0x48f0,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n    return;\n  }\n  iVar7 = *piVar4;\n  if (iVar7 != 0) {\n    if (*(int *)(iVar7 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar9 + 0x2a1cbc))\n                (*(int *)(pcVar9 + 0x2a0f98) + -0x4d48,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar7 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar9 + 0x2a1894))\n              (0x8000,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,*(int *)(pcVar9 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar9 + 0x2a0f98) + -0x62ac,iVar7 + 0x340,pcVar9 + 0x2a8f64);\n    iVar2 = *piVar4;\n    for (iVar7 = *(int *)(*piVar4 + 0x3368); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x3368)) {\nLAB_001079dc:\n      iVar2 = iVar7;\n    }\n    *piVar4 = iVar2;\n    do {\n      iVar7 = *(int *)(iVar2 + 0x3364);\n      *(undefined4 *)(iVar2 + 0x3364) = *(undefined4 *)(iVar2 + 0x3368);\n      *(int *)(iVar2 + 0x3368) = iVar7;\n      iVar2 = iVar7;\n    } while (iVar7 != 0);\n  }\n  return;\n}" { (declaration "_Image *p_Var1;" type_identifier (pointer_declarator "*p_Var1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "_Image *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "Image *pIVar6;" type_identifier (pointer_declarator "*pIVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (if_statement "if (images == (Image **)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (replace == (Image *)0x0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (replace->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (replace->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename);\n    }\n    pIVar6 = *images;\n    if (pIVar6 == (Image *)0x0) {\n      return;\n    }\n    if (pIVar6->signature == 0xabacadab) {\n      p_Var1 = (_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace);\n      p_Var3 = pIVar6->next;\n      p_Var1->next = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->previous = p_Var1;\n      }\n      p_Var1 = (_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1);\n      p_Var3 = (*images)->previous;\n      p_Var1->previous = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->next = p_Var1;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*images);\n      *images = p_Var1;\n      return;\n    }\n  }" if (parenthesized_expression "(images == (Image **)0x0)" ( (binary_expression "images == (Image **)0x0" identifier == (cast_expression "(Image **)0x0" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }" { (labeled_statement "LAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x48f0" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    if (replace == (Image *)0x0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (replace->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (replace->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename);\n    }\n    pIVar6 = *images;\n    if (pIVar6 == (Image *)0x0) {\n      return;\n    }\n    if (pIVar6->signature == 0xabacadab) {\n      p_Var1 = (_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace);\n      p_Var3 = pIVar6->next;\n      p_Var1->next = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->previous = p_Var1;\n      }\n      p_Var1 = (_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1);\n      p_Var3 = (*images)->previous;\n      p_Var1->previous = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->next = p_Var1;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*images);\n      *images = p_Var1;\n      return;\n    }\n  }" else (compound_statement "{\n    if (replace == (Image *)0x0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (replace->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (replace->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename);\n    }\n    pIVar6 = *images;\n    if (pIVar6 == (Image *)0x0) {\n      return;\n    }\n    if (pIVar6->signature == 0xabacadab) {\n      p_Var1 = (_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace);\n      p_Var3 = pIVar6->next;\n      p_Var1->next = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->previous = p_Var1;\n      }\n      p_Var1 = (_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1);\n      p_Var3 = (*images)->previous;\n      p_Var1->previous = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->next = p_Var1;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*images);\n      *images = p_Var1;\n      return;\n    }\n  }" { (if_statement "if (replace == (Image *)0x0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }" if (parenthesized_expression "(replace == (Image *)0x0)" ( (binary_expression "replace == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }" { (labeled_statement "LAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4838" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_00107764;" goto statement_identifier ;) })) (if_statement "if (replace->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }" if (parenthesized_expression "(replace->signature != 0xabacadab)" ( (binary_expression "replace->signature != 0xabacadab" (field_expression "replace->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x481c" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00107740;" goto statement_identifier ;) })) (if_statement "if (replace->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename);\n    }" if (parenthesized_expression "(replace->debug != MagickFalse)" ( (binary_expression "replace->debug != MagickFalse" (field_expression "replace->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename)" (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 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,replace->filename)" ( number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x46ac" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (field_expression "replace->filename" identifier -> field_identifier) ))) ;) })) (expression_statement "pIVar6 = *images;" (assignment_expression "pIVar6 = *images" identifier = (pointer_expression "*images" * identifier)) ;) (if_statement "if (pIVar6 == (Image *)0x0) {\n      return;\n    }" if (parenthesized_expression "(pIVar6 == (Image *)0x0)" ( (binary_expression "pIVar6 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (pIVar6->signature == 0xabacadab) {\n      p_Var1 = (_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace);\n      p_Var3 = pIVar6->next;\n      p_Var1->next = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->previous = p_Var1;\n      }\n      p_Var1 = (_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1);\n      p_Var3 = (*images)->previous;\n      p_Var1->previous = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->next = p_Var1;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*images);\n      *images = p_Var1;\n      return;\n    }" if (parenthesized_expression "(pIVar6->signature == 0xabacadab)" ( (binary_expression "pIVar6->signature == 0xabacadab" (field_expression "pIVar6->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      p_Var1 = (_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace);\n      p_Var3 = pIVar6->next;\n      p_Var1->next = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->previous = p_Var1;\n      }\n      p_Var1 = (_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1);\n      p_Var3 = (*images)->previous;\n      p_Var1->previous = p_Var3;\n      if (p_Var3 != (_Image *)0x0) {\n        p_Var3->next = p_Var1;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*images);\n      *images = p_Var1;\n      return;\n    }" { (expression_statement "p_Var1 = (_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace);" (assignment_expression "p_Var1 = (_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace)" identifier = (cast_expression "(_Image *)(*(code *)PTR_GetLastImageInList_003a8f58)(replace)" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetLastImageInList_003a8f58)(replace)" (parenthesized_expression "(*(code *)PTR_GetLastImageInList_003a8f58)" ( (pointer_expression "*(code *)PTR_GetLastImageInList_003a8f58" * (cast_expression "(code *)PTR_GetLastImageInList_003a8f58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(replace)" ( identifier ))))) ;) (expression_statement "p_Var3 = pIVar6->next;" (assignment_expression "p_Var3 = pIVar6->next" identifier = (field_expression "pIVar6->next" identifier -> field_identifier)) ;) (expression_statement "p_Var1->next = p_Var3;" (assignment_expression "p_Var1->next = p_Var3" (field_expression "p_Var1->next" identifier -> field_identifier) = identifier) ;) (if_statement "if (p_Var3 != (_Image *)0x0) {\n        p_Var3->previous = p_Var1;\n      }" if (parenthesized_expression "(p_Var3 != (_Image *)0x0)" ( (binary_expression "p_Var3 != (_Image *)0x0" identifier != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        p_Var3->previous = p_Var1;\n      }" { (expression_statement "p_Var3->previous = p_Var1;" (assignment_expression "p_Var3->previous = p_Var1" (field_expression "p_Var3->previous" identifier -> field_identifier) = identifier) ;) })) (expression_statement "p_Var1 = (_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1);" (assignment_expression "p_Var1 = (_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1)" identifier = (cast_expression "(_Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1)" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(p_Var1)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" ( (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" * (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(p_Var1)" ( identifier ))))) ;) (expression_statement "p_Var3 = (*images)->previous;" (assignment_expression "p_Var3 = (*images)->previous" identifier = (field_expression "(*images)->previous" (parenthesized_expression "(*images)" ( (pointer_expression "*images" * identifier) )) -> field_identifier)) ;) (expression_statement "p_Var1->previous = p_Var3;" (assignment_expression "p_Var1->previous = p_Var3" (field_expression "p_Var1->previous" identifier -> field_identifier) = identifier) ;) (if_statement "if (p_Var3 != (_Image *)0x0) {\n        p_Var3->next = p_Var1;\n      }" if (parenthesized_expression "(p_Var3 != (_Image *)0x0)" ( (binary_expression "p_Var3 != (_Image *)0x0" identifier != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        p_Var3->next = p_Var1;\n      }" { (expression_statement "p_Var3->next = p_Var1;" (assignment_expression "p_Var3->next = p_Var1" (field_expression "p_Var3->next" identifier -> field_identifier) = identifier) ;) })) (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(*images);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(*images)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*images)" ( (pointer_expression "*images" * identifier) ))) ;) (expression_statement "*images = p_Var1;" (assignment_expression "*images = p_Var1" (pointer_expression "*images" * identifier) = identifier) ;) (return_statement "return;" return ;) })) }))) (expression_statement "puVar5 = PTR_s_t_to_left_003a88e4 + -0x4920;" (assignment_expression "puVar5 = PTR_s_t_to_left_003a88e4 + -0x4920" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal)) ;) (expression_statement "piVar4 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);" (assignment_expression "piVar4 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48)" identifier = (cast_expression "(int *)(PTR_s_t_to_left_003a88e4 + -0x4d48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x4d48)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4d48" identifier + number_literal) )))) ;) (expression_statement "puVar8 = PTR___assert_fail_003a9608;" (assignment_expression "puVar8 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(piVar4,puVar5,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(piVar4,puVar5,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698)" (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 "(piVar4,puVar5,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698)" ( identifier , identifier , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;) (if_statement "if (piVar4 != (int *)0x0) {\n    if (puVar5 != (undefined *)0x0) {\n      if (*(int *)(puVar5 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar5 + 0x3350) != 0) {\n          (**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);\n        }\n        iVar7 = *piVar4;\n        if (iVar7 == 0) {\n          return;\n        }\n        if (*(int *)(iVar7 + 0x336c) == -0x54535255) {\n          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);\n          iVar7 = *(int *)(iVar7 + 0x3364);\n          *(int *)(iVar2 + 0x3364) = iVar7;\n          if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }\n          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);\n          iVar2 = *(int *)(*piVar4 + 0x3368);\n          *(int *)(iVar7 + 0x3368) = iVar2;\n          if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }\n          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);\n          *piVar4 = iVar7;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar8 + 0x2a1e5c))\n                (*(int *)(puVar8 + 0x2a1138) + -0x481c,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar8 + 0x2a1e5c))\n              (*(int *)(puVar8 + 0x2a1138) + -0x4838,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n  }" if (parenthesized_expression "(piVar4 != (int *)0x0)" ( (binary_expression "piVar4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar5 != (undefined *)0x0) {\n      if (*(int *)(puVar5 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar5 + 0x3350) != 0) {\n          (**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);\n        }\n        iVar7 = *piVar4;\n        if (iVar7 == 0) {\n          return;\n        }\n        if (*(int *)(iVar7 + 0x336c) == -0x54535255) {\n          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);\n          iVar7 = *(int *)(iVar7 + 0x3364);\n          *(int *)(iVar2 + 0x3364) = iVar7;\n          if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }\n          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);\n          iVar2 = *(int *)(*piVar4 + 0x3368);\n          *(int *)(iVar7 + 0x3368) = iVar2;\n          if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }\n          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);\n          *piVar4 = iVar7;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar8 + 0x2a1e5c))\n                (*(int *)(puVar8 + 0x2a1138) + -0x481c,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar8 + 0x2a1e5c))\n              (*(int *)(puVar8 + 0x2a1138) + -0x4838,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n  }" { (if_statement "if (puVar5 != (undefined *)0x0) {\n      if (*(int *)(puVar5 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar5 + 0x3350) != 0) {\n          (**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);\n        }\n        iVar7 = *piVar4;\n        if (iVar7 == 0) {\n          return;\n        }\n        if (*(int *)(iVar7 + 0x336c) == -0x54535255) {\n          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);\n          iVar7 = *(int *)(iVar7 + 0x3364);\n          *(int *)(iVar2 + 0x3364) = iVar7;\n          if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }\n          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);\n          iVar2 = *(int *)(*piVar4 + 0x3368);\n          *(int *)(iVar7 + 0x3368) = iVar2;\n          if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }\n          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);\n          *piVar4 = iVar7;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar8 + 0x2a1e5c))\n                (*(int *)(puVar8 + 0x2a1138) + -0x481c,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n    }" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(int *)(puVar5 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar5 + 0x3350) != 0) {\n          (**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);\n        }\n        iVar7 = *piVar4;\n        if (iVar7 == 0) {\n          return;\n        }\n        if (*(int *)(iVar7 + 0x336c) == -0x54535255) {\n          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);\n          iVar7 = *(int *)(iVar7 + 0x3364);\n          *(int *)(iVar2 + 0x3364) = iVar7;\n          if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }\n          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);\n          iVar2 = *(int *)(*piVar4 + 0x3368);\n          *(int *)(iVar7 + 0x3368) = iVar2;\n          if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }\n          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);\n          *piVar4 = iVar7;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar8 + 0x2a1e5c))\n                (*(int *)(puVar8 + 0x2a1138) + -0x481c,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar8 + 0x2a1138) + -0x46cc);\n    }" { (if_statement "if (*(int *)(puVar5 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar5 + 0x3350) != 0) {\n          (**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);\n        }\n        iVar7 = *piVar4;\n        if (iVar7 == 0) {\n          return;\n        }\n        if (*(int *)(iVar7 + 0x336c) == -0x54535255) {\n          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);\n          iVar7 = *(int *)(iVar7 + 0x3364);\n          *(int *)(iVar2 + 0x3364) = iVar7;\n          if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }\n          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);\n          iVar2 = *(int *)(*piVar4 + 0x3368);\n          *(int *)(iVar7 + 0x3368) = iVar2;\n          if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }\n          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);\n          *piVar4 = iVar7;\n          return;\n        }\n        goto LAB_00107928;\n      }" if (parenthesized_expression "(*(int *)(puVar5 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(puVar5 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar5 + 0x336c)" * (cast_expression "(int *)(puVar5 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x336c)" ( (binary_expression "puVar5 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (*(int *)(puVar5 + 0x3350) != 0) {\n          (**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);\n        }\n        iVar7 = *piVar4;\n        if (iVar7 == 0) {\n          return;\n        }\n        if (*(int *)(iVar7 + 0x336c) == -0x54535255) {\n          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);\n          iVar7 = *(int *)(iVar7 + 0x3364);\n          *(int *)(iVar2 + 0x3364) = iVar7;\n          if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }\n          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);\n          iVar2 = *(int *)(*piVar4 + 0x3368);\n          *(int *)(iVar7 + 0x3368) = iVar2;\n          if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }\n          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);\n          *piVar4 = iVar7;\n          return;\n        }\n        goto LAB_00107928;\n      }" { (if_statement "if (*(int *)(puVar5 + 0x3350) != 0) {\n          (**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);\n        }" if (parenthesized_expression "(*(int *)(puVar5 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar5 + 0x3350) != 0" (pointer_expression "*(int *)(puVar5 + 0x3350)" * (cast_expression "(int *)(puVar5 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x3350)" ( (binary_expression "puVar5 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          (**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);\n        }" { (expression_statement "(**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340);" (call_expression "(**(code **)(puVar8 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340)" (parenthesized_expression "(**(code **)(puVar8 + 0x2a1a34))" ( (pointer_expression "**(code **)(puVar8 + 0x2a1a34)" * (pointer_expression "*(code **)(puVar8 + 0x2a1a34)" * (cast_expression "(code **)(puVar8 + 0x2a1a34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2a1a34)" ( (binary_expression "puVar8 + 0x2a1a34" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar8 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar8 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar8 + 0x2a1138) + -0x62ac,puVar5 + 0x340)" ( number_literal , (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x46ec" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x62ac" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar5 + 0x340" identifier + number_literal) ))) ;) })) (expression_statement "iVar7 = *piVar4;" (assignment_expression "iVar7 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (iVar7 == 0) {\n          return;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar7 + 0x336c) == -0x54535255) {\n          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);\n          iVar7 = *(int *)(iVar7 + 0x3364);\n          *(int *)(iVar2 + 0x3364) = iVar7;\n          if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }\n          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);\n          iVar2 = *(int *)(*piVar4 + 0x3368);\n          *(int *)(iVar7 + 0x3368) = iVar2;\n          if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }\n          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);\n          *piVar4 = iVar7;\n          return;\n        }" if (parenthesized_expression "(*(int *)(iVar7 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar7 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar7 + 0x336c)" * (cast_expression "(int *)(iVar7 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x336c)" ( (binary_expression "iVar7 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);\n          iVar7 = *(int *)(iVar7 + 0x3364);\n          *(int *)(iVar2 + 0x3364) = iVar7;\n          if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }\n          iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);\n          iVar2 = *(int *)(*piVar4 + 0x3368);\n          *(int *)(iVar7 + 0x3368) = iVar2;\n          if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }\n          (**(code **)(puVar8 + 0x2a17a0))(*piVar4);\n          *piVar4 = iVar7;\n          return;\n        }" { (expression_statement "iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5);" (assignment_expression "iVar2 = (**(code **)(puVar8 + 0x2a1ca0))(puVar5)" identifier = (call_expression "(**(code **)(puVar8 + 0x2a1ca0))(puVar5)" (parenthesized_expression "(**(code **)(puVar8 + 0x2a1ca0))" ( (pointer_expression "**(code **)(puVar8 + 0x2a1ca0)" * (pointer_expression "*(code **)(puVar8 + 0x2a1ca0)" * (cast_expression "(code **)(puVar8 + 0x2a1ca0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2a1ca0)" ( (binary_expression "puVar8 + 0x2a1ca0" identifier + number_literal) ))))) )) (argument_list "(puVar5)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(iVar7 + 0x3364);" (assignment_expression "iVar7 = *(int *)(iVar7 + 0x3364)" identifier = (pointer_expression "*(int *)(iVar7 + 0x3364)" * (cast_expression "(int *)(iVar7 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3364)" ( (binary_expression "iVar7 + 0x3364" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar2 + 0x3364) = iVar7;" (assignment_expression "*(int *)(iVar2 + 0x3364) = iVar7" (pointer_expression "*(int *)(iVar2 + 0x3364)" * (cast_expression "(int *)(iVar2 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x3364)" ( (binary_expression "iVar2 + 0x3364" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 != 0) {\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(iVar7 + 0x3368) = iVar2;\n          }" { (expression_statement "*(int *)(iVar7 + 0x3368) = iVar2;" (assignment_expression "*(int *)(iVar7 + 0x3368) = iVar2" (pointer_expression "*(int *)(iVar7 + 0x3368)" * (cast_expression "(int *)(iVar7 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3368)" ( (binary_expression "iVar7 + 0x3368" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2);" (assignment_expression "iVar7 = (**(code **)(puVar8 + 0x2a17ac))(iVar2)" identifier = (call_expression "(**(code **)(puVar8 + 0x2a17ac))(iVar2)" (parenthesized_expression "(**(code **)(puVar8 + 0x2a17ac))" ( (pointer_expression "**(code **)(puVar8 + 0x2a17ac)" * (pointer_expression "*(code **)(puVar8 + 0x2a17ac)" * (cast_expression "(code **)(puVar8 + 0x2a17ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2a17ac)" ( (binary_expression "puVar8 + 0x2a17ac" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "iVar2 = *(int *)(*piVar4 + 0x3368);" (assignment_expression "iVar2 = *(int *)(*piVar4 + 0x3368)" identifier = (pointer_expression "*(int *)(*piVar4 + 0x3368)" * (cast_expression "(int *)(*piVar4 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + 0x3368)" ( (binary_expression "*piVar4 + 0x3368" (pointer_expression "*piVar4" * identifier) + number_literal) ))))) ;) (expression_statement "*(int *)(iVar7 + 0x3368) = iVar2;" (assignment_expression "*(int *)(iVar7 + 0x3368) = iVar2" (pointer_expression "*(int *)(iVar7 + 0x3368)" * (cast_expression "(int *)(iVar7 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3368)" ( (binary_expression "iVar7 + 0x3368" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar2 != 0) {\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(iVar2 + 0x3364) = iVar7;\n          }" { (expression_statement "*(int *)(iVar2 + 0x3364) = iVar7;" (assignment_expression "*(int *)(iVar2 + 0x3364) = iVar7" (pointer_expression "*(int *)(iVar2 + 0x3364)" * (cast_expression "(int *)(iVar2 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x3364)" ( (binary_expression "iVar2 + 0x3364" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "(**(code **)(puVar8 + 0x2a17a0))(*piVar4);" (call_expression "(**(code **)(puVar8 + 0x2a17a0))(*piVar4)" (parenthesized_expression "(**(code **)(puVar8 + 0x2a17a0))" ( (pointer_expression "**(code **)(puVar8 + 0x2a17a0)" * (pointer_expression "*(code **)(puVar8 + 0x2a17a0)" * (cast_expression "(code **)(puVar8 + 0x2a17a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2a17a0)" ( (binary_expression "puVar8 + 0x2a17a0" identifier + number_literal) ))))) )) (argument_list "(*piVar4)" ( (pointer_expression "*piVar4" * identifier) ))) ;) (expression_statement "*piVar4 = iVar7;" (assignment_expression "*piVar4 = iVar7" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_00107928;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar8 + 0x2a1e5c))\n                (*(int *)(puVar8 + 0x2a1138) + -0x481c,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar8 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar8 + 0x2a1e5c))\n                (*(int *)(puVar8 + 0x2a1138) + -0x481c,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar8 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar8 + 0x2a1e5c))" ( (pointer_expression "**(code **)(puVar8 + 0x2a1e5c)" * (pointer_expression "*(code **)(puVar8 + 0x2a1e5c)" * (cast_expression "(code **)(puVar8 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2a1e5c)" ( (binary_expression "puVar8 + 0x2a1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar8 + 0x2a1138) + -0x481c,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar8 + 0x2a1138) + -0x46cc)" ( (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x481c" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar8 + 0x2a1e5c))\n              (*(int *)(puVar8 + 0x2a1138) + -0x4838,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar8 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar8 + 0x2a1e5c))\n              (*(int *)(puVar8 + 0x2a1138) + -0x4838,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar8 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar8 + 0x2a1e5c))" ( (pointer_expression "**(code **)(puVar8 + 0x2a1e5c)" * (pointer_expression "*(code **)(puVar8 + 0x2a1e5c)" * (cast_expression "(code **)(puVar8 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2a1e5c)" ( (binary_expression "puVar8 + 0x2a1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar8 + 0x2a1138) + -0x4838,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar8 + 0x2a1138) + -0x46cc)" ( (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x4838" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar8 + 0x2a1e5c))\n            (*(int *)(puVar8 + 0x2a1138) + -0x48f0,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar8 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar8 + 0x2a1e5c))\n            (*(int *)(puVar8 + 0x2a1138) + -0x48f0,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar8 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar8 + 0x2a1e5c))" ( (pointer_expression "**(code **)(puVar8 + 0x2a1e5c)" * (pointer_expression "*(code **)(puVar8 + 0x2a1e5c)" * (cast_expression "(code **)(puVar8 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2a1e5c)" ( (binary_expression "puVar8 + 0x2a1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar8 + 0x2a1138) + -0x48f0,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar8 + 0x2a1138) + -0x46cc)" ( (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x48f0" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00107928:\n  pcVar9 = *(code **)(puVar8 + 0x2a1e5c);" statement_identifier : (expression_statement "pcVar9 = *(code **)(puVar8 + 0x2a1e5c);" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x2a1e5c)" identifier = (pointer_expression "*(code **)(puVar8 + 0x2a1e5c)" * (cast_expression "(code **)(puVar8 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2a1e5c)" ( (binary_expression "puVar8 + 0x2a1e5c" identifier + number_literal) ))))) ;)) (expression_statement "piVar4 = (int *)(*(int *)(puVar8 + 0x2a1138) + -0x4d48);" (assignment_expression "piVar4 = (int *)(*(int *)(puVar8 + 0x2a1138) + -0x4d48)" identifier = (cast_expression "(int *)(*(int *)(puVar8 + 0x2a1138) + -0x4d48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar8 + 0x2a1138) + -0x4d48)" ( (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x4d48" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar9)(piVar4,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar8 + 0x2a1138) + -0x46cc\n           );" (call_expression "(*pcVar9)(piVar4,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar8 + 0x2a1138) + -0x46cc\n           )" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar4,*(int *)(puVar8 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar8 + 0x2a1138) + -0x46cc\n           )" ( identifier , (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar8 + 0x2a1138)" * (cast_expression "(int *)(puVar8 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2a1138)" ( (binary_expression "puVar8 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (piVar4 == (int *)0x0) {\n    (**(code **)(pcVar9 + 0x2a1cbc))\n              (*(int *)(pcVar9 + 0x2a0f98) + -0x48f0,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n    return;\n  }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(pcVar9 + 0x2a1cbc))\n              (*(int *)(pcVar9 + 0x2a0f98) + -0x48f0,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n    return;\n  }" { (expression_statement "(**(code **)(pcVar9 + 0x2a1cbc))\n              (*(int *)(pcVar9 + 0x2a0f98) + -0x48f0,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar9 + 0x2a0f98) + -0x4700);" (call_expression "(**(code **)(pcVar9 + 0x2a1cbc))\n              (*(int *)(pcVar9 + 0x2a0f98) + -0x48f0,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar9 + 0x2a0f98) + -0x4700)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2a1cbc))" ( (pointer_expression "**(code **)(pcVar9 + 0x2a1cbc)" * (pointer_expression "*(code **)(pcVar9 + 0x2a1cbc)" * (cast_expression "(code **)(pcVar9 + 0x2a1cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2a1cbc)" ( (binary_expression "pcVar9 + 0x2a1cbc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x2a0f98) + -0x48f0,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar9 + 0x2a0f98) + -0x4700)" ( (binary_expression "*(int *)(pcVar9 + 0x2a0f98) + -0x48f0" (pointer_expression "*(int *)(pcVar9 + 0x2a0f98)" * (cast_expression "(int *)(pcVar9 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2a0f98)" ( (binary_expression "pcVar9 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar9 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar9 + 0x2a0f98)" * (cast_expression "(int *)(pcVar9 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2a0f98)" ( (binary_expression "pcVar9 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2a0f98) + -0x4700" (pointer_expression "*(int *)(pcVar9 + 0x2a0f98)" * (cast_expression "(int *)(pcVar9 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2a0f98)" ( (binary_expression "pcVar9 + 0x2a0f98" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar7 = *piVar4;" (assignment_expression "iVar7 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (iVar7 != 0) {\n    if (*(int *)(iVar7 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar9 + 0x2a1cbc))\n                (*(int *)(pcVar9 + 0x2a0f98) + -0x4d48,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar7 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar9 + 0x2a1894))\n              (0x8000,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,*(int *)(pcVar9 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar9 + 0x2a0f98) + -0x62ac,iVar7 + 0x340,pcVar9 + 0x2a8f64);\n    iVar2 = *piVar4;\n    for (iVar7 = *(int *)(*piVar4 + 0x3368); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x3368)) {\nLAB_001079dc:\n      iVar2 = iVar7;\n    }\n    *piVar4 = iVar2;\n    do {\n      iVar7 = *(int *)(iVar2 + 0x3364);\n      *(undefined4 *)(iVar2 + 0x3364) = *(undefined4 *)(iVar2 + 0x3368);\n      *(int *)(iVar2 + 0x3368) = iVar7;\n      iVar2 = iVar7;\n    } while (iVar7 != 0);\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar7 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar9 + 0x2a1cbc))\n                (*(int *)(pcVar9 + 0x2a0f98) + -0x4d48,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar7 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar9 + 0x2a1894))\n              (0x8000,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,*(int *)(pcVar9 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar9 + 0x2a0f98) + -0x62ac,iVar7 + 0x340,pcVar9 + 0x2a8f64);\n    iVar2 = *piVar4;\n    for (iVar7 = *(int *)(*piVar4 + 0x3368); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x3368)) {\nLAB_001079dc:\n      iVar2 = iVar7;\n    }\n    *piVar4 = iVar2;\n    do {\n      iVar7 = *(int *)(iVar2 + 0x3364);\n      *(undefined4 *)(iVar2 + 0x3364) = *(undefined4 *)(iVar2 + 0x3368);\n      *(int *)(iVar2 + 0x3368) = iVar7;\n      iVar2 = iVar7;\n    } while (iVar7 != 0);\n  }" { (if_statement "if (*(int *)(iVar7 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar9 + 0x2a1cbc))\n                (*(int *)(pcVar9 + 0x2a0f98) + -0x4d48,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n      return;\n    }" if (parenthesized_expression "(*(int *)(iVar7 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(iVar7 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(iVar7 + 0x336c)" * (cast_expression "(int *)(iVar7 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x336c)" ( (binary_expression "iVar7 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar9 + 0x2a1cbc))\n                (*(int *)(pcVar9 + 0x2a0f98) + -0x4d48,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar9 + 0x2a0f98) + -0x4700);\n      return;\n    }" { (expression_statement "(**(code **)(pcVar9 + 0x2a1cbc))\n                (*(int *)(pcVar9 + 0x2a0f98) + -0x4d48,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar9 + 0x2a0f98) + -0x4700);" (call_expression "(**(code **)(pcVar9 + 0x2a1cbc))\n                (*(int *)(pcVar9 + 0x2a0f98) + -0x4d48,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar9 + 0x2a0f98) + -0x4700)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2a1cbc))" ( (pointer_expression "**(code **)(pcVar9 + 0x2a1cbc)" * (pointer_expression "*(code **)(pcVar9 + 0x2a1cbc)" * (cast_expression "(code **)(pcVar9 + 0x2a1cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2a1cbc)" ( (binary_expression "pcVar9 + 0x2a1cbc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x2a0f98) + -0x4d48,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar9 + 0x2a0f98) + -0x4700)" ( (binary_expression "*(int *)(pcVar9 + 0x2a0f98) + -0x4d48" (pointer_expression "*(int *)(pcVar9 + 0x2a0f98)" * (cast_expression "(int *)(pcVar9 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2a0f98)" ( (binary_expression "pcVar9 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar9 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar9 + 0x2a0f98)" * (cast_expression "(int *)(pcVar9 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2a0f98)" ( (binary_expression "pcVar9 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2a0f98) + -0x4700" (pointer_expression "*(int *)(pcVar9 + 0x2a0f98)" * (cast_expression "(int *)(pcVar9 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2a0f98)" ( (binary_expression "pcVar9 + 0x2a0f98" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar7 + 0x3350) == 0) goto LAB_001079dc;" if (parenthesized_expression "(*(int *)(iVar7 + 0x3350) == 0)" ( (binary_expression "*(int *)(iVar7 + 0x3350) == 0" (pointer_expression "*(int *)(iVar7 + 0x3350)" * (cast_expression "(int *)(iVar7 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3350)" ( (binary_expression "iVar7 + 0x3350" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001079dc;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar9 + 0x2a1894))\n              (0x8000,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,*(int *)(pcVar9 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar9 + 0x2a0f98) + -0x62ac,iVar7 + 0x340,pcVar9 + 0x2a8f64);" (call_expression "(**(code **)(pcVar9 + 0x2a1894))\n              (0x8000,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,*(int *)(pcVar9 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar9 + 0x2a0f98) + -0x62ac,iVar7 + 0x340,pcVar9 + 0x2a8f64)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2a1894))" ( (pointer_expression "**(code **)(pcVar9 + 0x2a1894)" * (pointer_expression "*(code **)(pcVar9 + 0x2a1894)" * (cast_expression "(code **)(pcVar9 + 0x2a1894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2a1894)" ( (binary_expression "pcVar9 + 0x2a1894" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar9 + 0x2a0f98) + -0x4920,*(int *)(pcVar9 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar9 + 0x2a0f98) + -0x62ac,iVar7 + 0x340,pcVar9 + 0x2a8f64)" ( number_literal , (binary_expression "*(int *)(pcVar9 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar9 + 0x2a0f98)" * (cast_expression "(int *)(pcVar9 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2a0f98)" ( (binary_expression "pcVar9 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar9 + 0x2a0f98) + -0x4714" (pointer_expression "*(int *)(pcVar9 + 0x2a0f98)" * (cast_expression "(int *)(pcVar9 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2a0f98)" ( (binary_expression "pcVar9 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2a0f98) + -0x62ac" (pointer_expression "*(int *)(pcVar9 + 0x2a0f98)" * (cast_expression "(int *)(pcVar9 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2a0f98)" ( (binary_expression "pcVar9 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar7 + 0x340" identifier + number_literal) , (binary_expression "pcVar9 + 0x2a8f64" identifier + number_literal) ))) ;) (expression_statement "iVar2 = *piVar4;" (assignment_expression "iVar2 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (for_statement "for (iVar7 = *(int *)(*piVar4 + 0x3368); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x3368)) {\nLAB_001079dc:\n      iVar2 = iVar7;\n    }" for ( (assignment_expression "iVar7 = *(int *)(*piVar4 + 0x3368)" identifier = (pointer_expression "*(int *)(*piVar4 + 0x3368)" * (cast_expression "(int *)(*piVar4 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + 0x3368)" ( (binary_expression "*piVar4 + 0x3368" (pointer_expression "*piVar4" * identifier) + number_literal) ))))) ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = *(int *)(iVar7 + 0x3368)" identifier = (pointer_expression "*(int *)(iVar7 + 0x3368)" * (cast_expression "(int *)(iVar7 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3368)" ( (binary_expression "iVar7 + 0x3368" identifier + number_literal) ))))) ) (compound_statement "{\nLAB_001079dc:\n      iVar2 = iVar7;\n    }" { (labeled_statement "LAB_001079dc:\n      iVar2 = iVar7;" statement_identifier : (expression_statement "iVar2 = iVar7;" (assignment_expression "iVar2 = iVar7" identifier = identifier) ;)) })) (expression_statement "*piVar4 = iVar2;" (assignment_expression "*piVar4 = iVar2" (pointer_expression "*piVar4" * identifier) = identifier) ;) (do_statement "do {\n      iVar7 = *(int *)(iVar2 + 0x3364);\n      *(undefined4 *)(iVar2 + 0x3364) = *(undefined4 *)(iVar2 + 0x3368);\n      *(int *)(iVar2 + 0x3368) = iVar7;\n      iVar2 = iVar7;\n    } while (iVar7 != 0);" do (compound_statement "{\n      iVar7 = *(int *)(iVar2 + 0x3364);\n      *(undefined4 *)(iVar2 + 0x3364) = *(undefined4 *)(iVar2 + 0x3368);\n      *(int *)(iVar2 + 0x3368) = iVar7;\n      iVar2 = iVar7;\n    }" { (expression_statement "iVar7 = *(int *)(iVar2 + 0x3364);" (assignment_expression "iVar7 = *(int *)(iVar2 + 0x3364)" identifier = (pointer_expression "*(int *)(iVar2 + 0x3364)" * (cast_expression "(int *)(iVar2 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x3364)" ( (binary_expression "iVar2 + 0x3364" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x3364) = *(undefined4 *)(iVar2 + 0x3368);" (assignment_expression "*(undefined4 *)(iVar2 + 0x3364) = *(undefined4 *)(iVar2 + 0x3368)" (pointer_expression "*(undefined4 *)(iVar2 + 0x3364)" * (cast_expression "(undefined4 *)(iVar2 + 0x3364)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x3364)" ( (binary_expression "iVar2 + 0x3364" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar2 + 0x3368)" * (cast_expression "(undefined4 *)(iVar2 + 0x3368)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x3368)" ( (binary_expression "iVar2 + 0x3368" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar2 + 0x3368) = iVar7;" (assignment_expression "*(int *)(iVar2 + 0x3368) = iVar7" (pointer_expression "*(int *)(iVar2 + 0x3368)" * (cast_expression "(int *)(iVar2 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x3368)" ( (binary_expression "iVar2 + 0x3368" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar2 = iVar7;" (assignment_expression "iVar2 = iVar7" identifier = identifier) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void ReplaceImageInList(int *param_1,int param_2)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  code *pcVar6;\n  \n  if (param_1 == (int *)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }\n  puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;\n  piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);\n  puVar5 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);\n  if (piVar2 != (int *)0x0) {\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }\n  (**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc);\nLAB_00107928:\n  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);\n  piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);\n  (*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           );\n  if (piVar2 == (int *)0x0) {\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }\n  iVar4 = *piVar2;\n  if (iVar4 != 0) {\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }\n  return;\n}\n\n" (function_definition "void ReplaceImageInList(int *param_1,int param_2)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  code *pcVar6;\n  \n  if (param_1 == (int *)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }\n  puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;\n  piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);\n  puVar5 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);\n  if (piVar2 != (int *)0x0) {\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }\n  (**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc);\nLAB_00107928:\n  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);\n  piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);\n  (*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           );\n  if (piVar2 == (int *)0x0) {\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }\n  iVar4 = *piVar2;\n  if (iVar4 != 0) {\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }\n  return;\n}" primitive_type (function_declarator "ReplaceImageInList(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  code *pcVar6;\n  \n  if (param_1 == (int *)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }\n  puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;\n  piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);\n  puVar5 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);\n  if (piVar2 != (int *)0x0) {\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }\n  (**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc);\nLAB_00107928:\n  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);\n  piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);\n  (*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           );\n  if (piVar2 == (int *)0x0) {\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }\n  iVar4 = *piVar2;\n  if (iVar4 != 0) {\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (if_statement "if (param_1 == (int *)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }" { (labeled_statement "LAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x48f0" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }" else (compound_statement "{\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }" { (if_statement "if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }" { (labeled_statement "LAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4838" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_00107764;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x336c)" * (cast_expression "(int *)(param_2 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x336c)" ( (binary_expression "param_2 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x481c" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00107740;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x3350) != 0)" ( (binary_expression "*(int *)(param_2 + 0x3350) != 0" (pointer_expression "*(int *)(param_2 + 0x3350)" * (cast_expression "(int *)(param_2 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x3350)" ( (binary_expression "param_2 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" (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 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" ( number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x46ac" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "param_2 + 0x340" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = *param_1;" (assignment_expression "iVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (iVar4 == 0) {\n      return;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar4 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x336c)" * (cast_expression "(int *)(iVar4 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x336c)" ( (binary_expression "iVar4 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }" { (expression_statement "iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);" (assignment_expression "iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2)" identifier = (call_expression "(*(code *)PTR_GetLastImageInList_003a8f58)(param_2)" (parenthesized_expression "(*(code *)PTR_GetLastImageInList_003a8f58)" ( (pointer_expression "*(code *)PTR_GetLastImageInList_003a8f58" * (cast_expression "(code *)PTR_GetLastImageInList_003a8f58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(iVar4 + 0x3368);" (assignment_expression "iVar4 = *(int *)(iVar4 + 0x3368)" identifier = (pointer_expression "*(int *)(iVar4 + 0x3368)" * (cast_expression "(int *)(iVar4 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3368)" ( (binary_expression "iVar4 + 0x3368" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar1 + 0x3368) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3368) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3368)" * (cast_expression "(int *)(iVar1 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3368)" ( (binary_expression "iVar1 + 0x3368" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }" { (expression_statement "*(int *)(iVar4 + 0x3364) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3364) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3364)" * (cast_expression "(int *)(iVar4 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3364)" ( (binary_expression "iVar4 + 0x3364" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);" (assignment_expression "iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1)" identifier = (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(iVar1)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" ( (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" * (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "iVar1 = *(int *)(*param_1 + 0x3364);" (assignment_expression "iVar1 = *(int *)(*param_1 + 0x3364)" identifier = (pointer_expression "*(int *)(*param_1 + 0x3364)" * (cast_expression "(int *)(*param_1 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x3364)" ( (binary_expression "*param_1 + 0x3364" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "*(int *)(iVar4 + 0x3364) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3364) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3364)" * (cast_expression "(int *)(iVar4 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3364)" ( (binary_expression "iVar4 + 0x3364" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }" { (expression_statement "*(int *)(iVar1 + 0x3368) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3368) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3368)" * (cast_expression "(int *)(iVar1 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3368)" ( (binary_expression "iVar1 + 0x3368" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(*param_1);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(*param_1)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))) ;) (expression_statement "*param_1 = iVar4;" (assignment_expression "*param_1 = iVar4" (pointer_expression "*param_1" * identifier) = identifier) ;) (return_statement "return;" return ;) })) }))) (expression_statement "puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;" (assignment_expression "puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" identifier + number_literal)) ;) (expression_statement "piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);" (assignment_expression "piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48)" identifier = (cast_expression "(int *)(PTR_s_t_to_left_003a88e4 + -0x4d48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x4d48)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4d48" identifier + number_literal) )))) ;) (expression_statement "puVar5 = PTR___assert_fail_003a9608;" (assignment_expression "puVar5 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698)" (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 "(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698)" ( identifier , identifier , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" identifier + number_literal) ))) ;) (if_statement "if (piVar2 != (int *)0x0) {\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }" { (if_statement "if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }" if (parenthesized_expression "(puVar3 != (undefined *)0x0)" ( (binary_expression "puVar3 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }" { (if_statement "if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }" if (parenthesized_expression "(*(int *)(puVar3 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(puVar3 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar3 + 0x336c)" * (cast_expression "(int *)(puVar3 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x336c)" ( (binary_expression "puVar3 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }" { (if_statement "if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }" if (parenthesized_expression "(*(int *)(puVar3 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar3 + 0x3350) != 0" (pointer_expression "*(int *)(puVar3 + 0x3350)" * (cast_expression "(int *)(puVar3 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x3350)" ( (binary_expression "puVar3 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }" { (expression_statement "(**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);" (call_expression "(**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1a34))" ( (pointer_expression "**(code **)(puVar5 + 0x2a1a34)" * (pointer_expression "*(code **)(puVar5 + 0x2a1a34)" * (cast_expression "(code **)(puVar5 + 0x2a1a34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1a34)" ( (binary_expression "puVar5 + 0x2a1a34" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340)" ( number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46ec" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x62ac" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar3 + 0x340" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (iVar4 == 0) {\n          return;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }" if (parenthesized_expression "(*(int *)(iVar4 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar4 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x336c)" * (cast_expression "(int *)(iVar4 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x336c)" ( (binary_expression "iVar4 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }" { (expression_statement "iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);" (assignment_expression "iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3)" identifier = (call_expression "(**(code **)(puVar5 + 0x2a1ca0))(puVar3)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1ca0))" ( (pointer_expression "**(code **)(puVar5 + 0x2a1ca0)" * (pointer_expression "*(code **)(puVar5 + 0x2a1ca0)" * (cast_expression "(code **)(puVar5 + 0x2a1ca0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1ca0)" ( (binary_expression "puVar5 + 0x2a1ca0" identifier + number_literal) ))))) )) (argument_list "(puVar3)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(iVar4 + 0x3364);" (assignment_expression "iVar4 = *(int *)(iVar4 + 0x3364)" identifier = (pointer_expression "*(int *)(iVar4 + 0x3364)" * (cast_expression "(int *)(iVar4 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3364)" ( (binary_expression "iVar4 + 0x3364" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar1 + 0x3364) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3364) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3364)" * (cast_expression "(int *)(iVar1 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3364)" ( (binary_expression "iVar1 + 0x3364" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }" { (expression_statement "*(int *)(iVar4 + 0x3368) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3368) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3368)" * (cast_expression "(int *)(iVar4 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3368)" ( (binary_expression "iVar4 + 0x3368" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);" (assignment_expression "iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1)" identifier = (call_expression "(**(code **)(puVar5 + 0x2a17ac))(iVar1)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a17ac))" ( (pointer_expression "**(code **)(puVar5 + 0x2a17ac)" * (pointer_expression "*(code **)(puVar5 + 0x2a17ac)" * (cast_expression "(code **)(puVar5 + 0x2a17ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a17ac)" ( (binary_expression "puVar5 + 0x2a17ac" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "iVar1 = *(int *)(*piVar2 + 0x3368);" (assignment_expression "iVar1 = *(int *)(*piVar2 + 0x3368)" identifier = (pointer_expression "*(int *)(*piVar2 + 0x3368)" * (cast_expression "(int *)(*piVar2 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0x3368)" ( (binary_expression "*piVar2 + 0x3368" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (expression_statement "*(int *)(iVar4 + 0x3368) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3368) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3368)" * (cast_expression "(int *)(iVar4 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3368)" ( (binary_expression "iVar4 + 0x3368" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }" { (expression_statement "*(int *)(iVar1 + 0x3364) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3364) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3364)" * (cast_expression "(int *)(iVar1 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3364)" ( (binary_expression "iVar1 + 0x3364" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "(**(code **)(puVar5 + 0x2a17a0))(*piVar2);" (call_expression "(**(code **)(puVar5 + 0x2a17a0))(*piVar2)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a17a0))" ( (pointer_expression "**(code **)(puVar5 + 0x2a17a0)" * (pointer_expression "*(code **)(puVar5 + 0x2a17a0)" * (cast_expression "(code **)(puVar5 + 0x2a17a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a17a0)" ( (binary_expression "puVar5 + 0x2a17a0" identifier + number_literal) ))))) )) (argument_list "(*piVar2)" ( (pointer_expression "*piVar2" * identifier) ))) ;) (expression_statement "*piVar2 = iVar4;" (assignment_expression "*piVar2 = iVar4" (pointer_expression "*piVar2" * identifier) = identifier) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_00107928;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1e5c))" ( (pointer_expression "**(code **)(puVar5 + 0x2a1e5c)" * (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" * (cast_expression "(code **)(puVar5 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1e5c)" ( (binary_expression "puVar5 + 0x2a1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc)" ( (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x481c" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1e5c))" ( (pointer_expression "**(code **)(puVar5 + 0x2a1e5c)" * (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" * (cast_expression "(code **)(puVar5 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1e5c)" ( (binary_expression "puVar5 + 0x2a1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc)" ( (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4838" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1e5c))" ( (pointer_expression "**(code **)(puVar5 + 0x2a1e5c)" * (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" * (cast_expression "(code **)(puVar5 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1e5c)" ( (binary_expression "puVar5 + 0x2a1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc)" ( (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x48f0" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00107928:\n  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);" statement_identifier : (expression_statement "pcVar6 = *(code **)(puVar5 + 0x2a1e5c);" (assignment_expression "pcVar6 = *(code **)(puVar5 + 0x2a1e5c)" identifier = (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" * (cast_expression "(code **)(puVar5 + 0x2a1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2a1e5c)" ( (binary_expression "puVar5 + 0x2a1e5c" identifier + number_literal) ))))) ;)) (expression_statement "piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);" (assignment_expression "piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48)" identifier = (cast_expression "(int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar5 + 0x2a1138) + -0x4d48)" ( (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4d48" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           );" (call_expression "(*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           )" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           )" ( identifier , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" * (cast_expression "(int *)(puVar5 + 0x2a1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2a1138)" ( (binary_expression "puVar5 + 0x2a1138" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }" { (expression_statement "(**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);" (call_expression "(**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" (parenthesized_expression "(**(code **)(pcVar6 + 0x2a1cbc))" ( (pointer_expression "**(code **)(pcVar6 + 0x2a1cbc)" * (pointer_expression "*(code **)(pcVar6 + 0x2a1cbc)" * (cast_expression "(code **)(pcVar6 + 0x2a1cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x2a1cbc)" ( (binary_expression "pcVar6 + 0x2a1cbc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" ( (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x48f0" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4700" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (iVar4 != 0) {\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }" { (if_statement "if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(iVar4 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x336c)" * (cast_expression "(int *)(iVar4 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x336c)" ( (binary_expression "iVar4 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }" { (expression_statement "(**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);" (call_expression "(**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" (parenthesized_expression "(**(code **)(pcVar6 + 0x2a1cbc))" ( (pointer_expression "**(code **)(pcVar6 + 0x2a1cbc)" * (pointer_expression "*(code **)(pcVar6 + 0x2a1cbc)" * (cast_expression "(code **)(pcVar6 + 0x2a1cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x2a1cbc)" ( (binary_expression "pcVar6 + 0x2a1cbc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" ( (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4d48" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4700" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;" if (parenthesized_expression "(*(int *)(iVar4 + 0x3350) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x3350) == 0" (pointer_expression "*(int *)(iVar4 + 0x3350)" * (cast_expression "(int *)(iVar4 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3350)" ( (binary_expression "iVar4 + 0x3350" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001079dc;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);" (call_expression "(**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64)" (parenthesized_expression "(**(code **)(pcVar6 + 0x2a1894))" ( (pointer_expression "**(code **)(pcVar6 + 0x2a1894)" * (pointer_expression "*(code **)(pcVar6 + 0x2a1894)" * (cast_expression "(code **)(pcVar6 + 0x2a1894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x2a1894)" ( (binary_expression "pcVar6 + 0x2a1894" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64)" ( number_literal , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4714" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x62ac" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" * (cast_expression "(int *)(pcVar6 + 0x2a0f98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x2a0f98)" ( (binary_expression "pcVar6 + 0x2a0f98" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar4 + 0x340" identifier + number_literal) , (binary_expression "pcVar6 + 0x2a8f64" identifier + number_literal) ))) ;) (expression_statement "iVar1 = *piVar2;" (assignment_expression "iVar1 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (for_statement "for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }" for ( (assignment_expression "iVar4 = *(int *)(*piVar2 + 0x3368)" identifier = (pointer_expression "*(int *)(*piVar2 + 0x3368)" * (cast_expression "(int *)(*piVar2 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0x3368)" ( (binary_expression "*piVar2 + 0x3368" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ; (binary_expression "iVar4 != 0" identifier != number_literal) ; (assignment_expression "iVar4 = *(int *)(iVar4 + 0x3368)" identifier = (pointer_expression "*(int *)(iVar4 + 0x3368)" * (cast_expression "(int *)(iVar4 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3368)" ( (binary_expression "iVar4 + 0x3368" identifier + number_literal) ))))) ) (compound_statement "{\nLAB_001079dc:\n      iVar1 = iVar4;\n    }" { (labeled_statement "LAB_001079dc:\n      iVar1 = iVar4;" statement_identifier : (expression_statement "iVar1 = iVar4;" (assignment_expression "iVar1 = iVar4" identifier = identifier) ;)) })) (expression_statement "*piVar2 = iVar1;" (assignment_expression "*piVar2 = iVar1" (pointer_expression "*piVar2" * identifier) = identifier) ;) (do_statement "do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);" do (compound_statement "{\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    }" { (expression_statement "iVar4 = *(int *)(iVar1 + 0x3364);" (assignment_expression "iVar4 = *(int *)(iVar1 + 0x3364)" identifier = (pointer_expression "*(int *)(iVar1 + 0x3364)" * (cast_expression "(int *)(iVar1 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3364)" ( (binary_expression "iVar1 + 0x3364" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);" (assignment_expression "*(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368)" (pointer_expression "*(undefined4 *)(iVar1 + 0x3364)" * (cast_expression "(undefined4 *)(iVar1 + 0x3364)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3364)" ( (binary_expression "iVar1 + 0x3364" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x3368)" * (cast_expression "(undefined4 *)(iVar1 + 0x3368)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3368)" ( (binary_expression "iVar1 + 0x3368" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar1 + 0x3368) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3368) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3368)" * (cast_expression "(int *)(iVar1 + 0x3368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3368)" ( (binary_expression "iVar1 + 0x3368" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar1 = iVar4;" (assignment_expression "iVar1 = iVar4" identifier = identifier) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (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 (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (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) ))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (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 ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return ;) })) (goto_statement goto 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (return_statement return ;) })))
(function_definition "void ReplaceImageInList(int *param_1,int param_2)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  code *pcVar6;\n  \n  if (param_1 == (int *)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }\n  puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;\n  piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);\n  puVar5 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);\n  if (piVar2 != (int *)0x0) {\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }\n  (**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc);\nLAB_00107928:\n  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);\n  piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);\n  (*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           );\n  if (piVar2 == (int *)0x0) {\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }\n  iVar4 = *piVar2;\n  if (iVar4 != 0) {\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "ReplaceImageInList(int *param_1,int param_2)" (identifier "ReplaceImageInList") (parameter_list "(int *param_1,int param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  code *pcVar6;\n  \n  if (param_1 == (int *)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }\n  puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;\n  piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);\n  puVar5 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);\n  if (piVar2 != (int *)0x0) {\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }\n  (**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc);\nLAB_00107928:\n  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);\n  piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);\n  (*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           );\n  if (piVar2 == (int *)0x0) {\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }\n  iVar4 = *piVar2;\n  if (iVar4 != 0) {\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "code *pcVar6;" (type_identifier "code") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (if_statement "if (param_1 == (int *)0x0) {\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }\n  else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);\n  }" ({ "{") (labeled_statement "LAB_00107764:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);" (statement_identifier "LAB_00107764") (: ":") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,\n               PTR_s_t_to_left_003a88e4 + -0x4698)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x48f0" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x48f0")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4920")) (, ",") (number_literal "0x49d") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4698")) () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }" (else "else") (compound_statement "{\n    if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    iVar4 = *param_1;\n    if (iVar4 == 0) {\n      return;\n    }\n    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }\n  }" ({ "{") (if_statement "if (param_2 == 0) {\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107764;\n    }" ({ "{") (labeled_statement "LAB_00107740:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" (statement_identifier "LAB_00107740") (: ":") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4838" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4838")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4920")) (, ",") (number_literal "0x49e") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4698")) () ")"))) (; ";"))) (goto_statement "goto LAB_00107764;" (goto "goto") (statement_identifier "LAB_00107764") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x336c) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_2 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x336c)" (* "*") (cast_expression "(int *)(param_2 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x336c)" (( "(") (binary_expression "param_2 + 0x336c" (identifier "param_2") (+ "+") (number_literal "0x336c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);\n      goto LAB_00107740;\n    }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" (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 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,\n                 PTR_s_t_to_left_003a88e4 + -0x4698)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x481c" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x481c")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4920")) (, ",") (number_literal "0x49f") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4698")) () ")"))) (; ";")) (goto_statement "goto LAB_00107740;" (goto "goto") (statement_identifier "LAB_00107740") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x3350) != 0)" (( "(") (binary_expression "*(int *)(param_2 + 0x3350) != 0" (pointer_expression "*(int *)(param_2 + 0x3350)" (* "*") (cast_expression "(int *)(param_2 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x3350)" (( "(") (binary_expression "param_2 + 0x3350" (identifier "param_2") (+ "+") (number_literal "0x3350")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" (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 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4920")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x46ac" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x46ac")) (, ",") (number_literal "0x4a1") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "param_2 + 0x340" (identifier "param_2") (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = *param_1;" (assignment_expression "iVar4 = *param_1" (identifier "iVar4") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if (iVar4 == 0) {\n      return;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x336c) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar4 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x336c)" (* "*") (cast_expression "(int *)(iVar4 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x336c)" (( "(") (binary_expression "iVar4 + 0x336c" (identifier "iVar4") (+ "+") (number_literal "0x336c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);\n      iVar4 = *(int *)(iVar4 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }\n      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);\n      iVar1 = *(int *)(*param_1 + 0x3364);\n      *(int *)(iVar4 + 0x3364) = iVar1;\n      if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }\n      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar4;\n      return;\n    }" ({ "{") (expression_statement "iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);" (assignment_expression "iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_GetLastImageInList_003a8f58)(param_2)" (parenthesized_expression "(*(code *)PTR_GetLastImageInList_003a8f58)" (( "(") (pointer_expression "*(code *)PTR_GetLastImageInList_003a8f58" (* "*") (cast_expression "(code *)PTR_GetLastImageInList_003a8f58" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetLastImageInList_003a8f58"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar4 + 0x3368);" (assignment_expression "iVar4 = *(int *)(iVar4 + 0x3368)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar4 + 0x3368)" (* "*") (cast_expression "(int *)(iVar4 + 0x3368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x3368)" (( "(") (binary_expression "iVar4 + 0x3368" (identifier "iVar4") (+ "+") (number_literal "0x3368")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar1 + 0x3368) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3368) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3368)" (* "*") (cast_expression "(int *)(iVar1 + 0x3368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3368)" (( "(") (binary_expression "iVar1 + 0x3368" (identifier "iVar1") (+ "+") (number_literal "0x3368")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (iVar4 != 0) {\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)(iVar4 + 0x3364) = iVar1;\n      }" ({ "{") (expression_statement "*(int *)(iVar4 + 0x3364) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3364) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3364)" (* "*") (cast_expression "(int *)(iVar4 + 0x3364)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x3364)" (( "(") (binary_expression "iVar4 + 0x3364" (identifier "iVar4") (+ "+") (number_literal "0x3364")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);" (assignment_expression "iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(iVar1)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" (( "(") (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" (* "*") (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetFirstImageInList_003a944c"))) () ")")) (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")")))) (; ";")) (expression_statement "iVar1 = *(int *)(*param_1 + 0x3364);" (assignment_expression "iVar1 = *(int *)(*param_1 + 0x3364)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(*param_1 + 0x3364)" (* "*") (cast_expression "(int *)(*param_1 + 0x3364)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x3364)" (( "(") (binary_expression "*param_1 + 0x3364" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x3364")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar4 + 0x3364) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3364) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3364)" (* "*") (cast_expression "(int *)(iVar4 + 0x3364)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x3364)" (( "(") (binary_expression "iVar4 + 0x3364" (identifier "iVar4") (+ "+") (number_literal "0x3364")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (if_statement "if (iVar1 != 0) {\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)(iVar1 + 0x3368) = iVar4;\n      }" ({ "{") (expression_statement "*(int *)(iVar1 + 0x3368) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3368) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3368)" (* "*") (cast_expression "(int *)(iVar1 + 0x3368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3368)" (( "(") (binary_expression "iVar1 + 0x3368" (identifier "iVar1") (+ "+") (number_literal "0x3368")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(*param_1);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(*param_1)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" (( "(") (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" (* "*") (cast_expression "(code *)PTR_DestroyImage_003a8f4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImage_003a8f4c"))) () ")")) (argument_list "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")"))) (; ";")) (expression_statement "*param_1 = iVar4;" (assignment_expression "*param_1 = iVar4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "iVar4")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;" (assignment_expression "puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920" (identifier "puVar3") (= "=") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4920" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4920"))) (; ";")) (expression_statement "piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);" (assignment_expression "piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48)" (identifier "piVar2") (= "=") (cast_expression "(int *)(PTR_s_t_to_left_003a88e4 + -0x4d48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x4d48)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4d48" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4d48")) () ")")))) (; ";")) (expression_statement "puVar5 = PTR___assert_fail_003a9608;" (assignment_expression "puVar5 = PTR___assert_fail_003a9608" (identifier "puVar5") (= "=") (identifier "PTR___assert_fail_003a9608")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698)" (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 "(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698)" (( "(") (identifier "piVar2") (, ",") (identifier "puVar3") (, ",") (number_literal "0x4a4") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4698" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4698")) () ")"))) (; ";")) (if_statement "if (piVar2 != (int *)0x0) {\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }" (if "if") (parenthesized_expression "(piVar2 != (int *)0x0)" (( "(") (binary_expression "piVar2 != (int *)0x0" (identifier "piVar2") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }\n    (**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n  }" ({ "{") (if_statement "if (puVar3 != (undefined *)0x0) {\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }" (if "if") (parenthesized_expression "(puVar3 != (undefined *)0x0)" (( "(") (binary_expression "puVar3 != (undefined *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }\n      (**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);\n    }" ({ "{") (if_statement "if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar3 + 0x336c) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar3 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar3 + 0x336c)" (* "*") (cast_expression "(int *)(puVar3 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x336c)" (( "(") (binary_expression "puVar3 + 0x336c" (identifier "puVar3") (+ "+") (number_literal "0x336c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n        if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }\n        iVar4 = *piVar2;\n        if (iVar4 == 0) {\n          return;\n        }\n        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }\n        goto LAB_00107928;\n      }" ({ "{") (if_statement "if (*(int *)(puVar3 + 0x3350) != 0) {\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }" (if "if") (parenthesized_expression "(*(int *)(puVar3 + 0x3350) != 0)" (( "(") (binary_expression "*(int *)(puVar3 + 0x3350) != 0" (pointer_expression "*(int *)(puVar3 + 0x3350)" (* "*") (cast_expression "(int *)(puVar3 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x3350)" (( "(") (binary_expression "puVar3 + 0x3350" (identifier "puVar3") (+ "+") (number_literal "0x3350")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          (**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);\n        }" ({ "{") (expression_statement "(**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);" (call_expression "(**(code **)(puVar5 + 0x2a1a34))\n                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1a34))" (( "(") (pointer_expression "**(code **)(puVar5 + 0x2a1a34)" (* "*") (pointer_expression "*(code **)(puVar5 + 0x2a1a34)" (* "*") (cast_expression "(code **)(puVar5 + 0x2a1a34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x2a1a34)" (( "(") (binary_expression "puVar5 + 0x2a1a34" (identifier "puVar5") (+ "+") (number_literal "0x2a1a34")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,\n                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,\n                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x4920")) (, ",") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46ec" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x46ec")) (, ",") (number_literal "0x4de") (, ",") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x62ac" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "puVar3 + 0x340" (identifier "puVar3") (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" (identifier "iVar4") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (if_statement "if (iVar4 == 0) {\n          return;\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x336c) == -0x54535255) {\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x336c) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar4 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x336c)" (* "*") (cast_expression "(int *)(iVar4 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x336c)" (( "(") (binary_expression "iVar4 + 0x336c" (identifier "iVar4") (+ "+") (number_literal "0x336c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);\n          iVar4 = *(int *)(iVar4 + 0x3364);\n          *(int *)(iVar1 + 0x3364) = iVar4;\n          if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }\n          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);\n          iVar1 = *(int *)(*piVar2 + 0x3368);\n          *(int *)(iVar4 + 0x3368) = iVar1;\n          if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }\n          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);\n          *piVar2 = iVar4;\n          return;\n        }" ({ "{") (expression_statement "iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);" (assignment_expression "iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(puVar5 + 0x2a1ca0))(puVar3)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1ca0))" (( "(") (pointer_expression "**(code **)(puVar5 + 0x2a1ca0)" (* "*") (pointer_expression "*(code **)(puVar5 + 0x2a1ca0)" (* "*") (cast_expression "(code **)(puVar5 + 0x2a1ca0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x2a1ca0)" (( "(") (binary_expression "puVar5 + 0x2a1ca0" (identifier "puVar5") (+ "+") (number_literal "0x2a1ca0")) () ")"))))) () ")")) (argument_list "(puVar3)" (( "(") (identifier "puVar3") () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar4 + 0x3364);" (assignment_expression "iVar4 = *(int *)(iVar4 + 0x3364)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar4 + 0x3364)" (* "*") (cast_expression "(int *)(iVar4 + 0x3364)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x3364)" (( "(") (binary_expression "iVar4 + 0x3364" (identifier "iVar4") (+ "+") (number_literal "0x3364")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar1 + 0x3364) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3364) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3364)" (* "*") (cast_expression "(int *)(iVar1 + 0x3364)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3364)" (( "(") (binary_expression "iVar1 + 0x3364" (identifier "iVar1") (+ "+") (number_literal "0x3364")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (iVar4 != 0) {\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(int *)(iVar4 + 0x3368) = iVar1;\n          }" ({ "{") (expression_statement "*(int *)(iVar4 + 0x3368) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3368) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3368)" (* "*") (cast_expression "(int *)(iVar4 + 0x3368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x3368)" (( "(") (binary_expression "iVar4 + 0x3368" (identifier "iVar4") (+ "+") (number_literal "0x3368")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (} "}"))) (expression_statement "iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);" (assignment_expression "iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar5 + 0x2a17ac))(iVar1)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a17ac))" (( "(") (pointer_expression "**(code **)(puVar5 + 0x2a17ac)" (* "*") (pointer_expression "*(code **)(puVar5 + 0x2a17ac)" (* "*") (cast_expression "(code **)(puVar5 + 0x2a17ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x2a17ac)" (( "(") (binary_expression "puVar5 + 0x2a17ac" (identifier "puVar5") (+ "+") (number_literal "0x2a17ac")) () ")"))))) () ")")) (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")")))) (; ";")) (expression_statement "iVar1 = *(int *)(*piVar2 + 0x3368);" (assignment_expression "iVar1 = *(int *)(*piVar2 + 0x3368)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(*piVar2 + 0x3368)" (* "*") (cast_expression "(int *)(*piVar2 + 0x3368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar2 + 0x3368)" (( "(") (binary_expression "*piVar2 + 0x3368" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0x3368")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar4 + 0x3368) = iVar1;" (assignment_expression "*(int *)(iVar4 + 0x3368) = iVar1" (pointer_expression "*(int *)(iVar4 + 0x3368)" (* "*") (cast_expression "(int *)(iVar4 + 0x3368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x3368)" (( "(") (binary_expression "iVar4 + 0x3368" (identifier "iVar4") (+ "+") (number_literal "0x3368")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (if_statement "if (iVar1 != 0) {\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(int *)(iVar1 + 0x3364) = iVar4;\n          }" ({ "{") (expression_statement "*(int *)(iVar1 + 0x3364) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3364) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3364)" (* "*") (cast_expression "(int *)(iVar1 + 0x3364)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3364)" (( "(") (binary_expression "iVar1 + 0x3364" (identifier "iVar1") (+ "+") (number_literal "0x3364")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar5 + 0x2a17a0))(*piVar2);" (call_expression "(**(code **)(puVar5 + 0x2a17a0))(*piVar2)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a17a0))" (( "(") (pointer_expression "**(code **)(puVar5 + 0x2a17a0)" (* "*") (pointer_expression "*(code **)(puVar5 + 0x2a17a0)" (* "*") (cast_expression "(code **)(puVar5 + 0x2a17a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x2a17a0)" (( "(") (binary_expression "puVar5 + 0x2a17a0" (identifier "puVar5") (+ "+") (number_literal "0x2a17a0")) () ")"))))) () ")")) (argument_list "(*piVar2)" (( "(") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) () ")"))) (; ";")) (expression_statement "*piVar2 = iVar4;" (assignment_expression "*piVar2 = iVar4" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "iVar4")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_00107928;" (goto "goto") (statement_identifier "LAB_00107928") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar5 + 0x2a1e5c))\n                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1e5c))" (( "(") (pointer_expression "**(code **)(puVar5 + 0x2a1e5c)" (* "*") (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" (* "*") (cast_expression "(code **)(puVar5 + 0x2a1e5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x2a1e5c)" (( "(") (binary_expression "puVar5 + 0x2a1e5c" (identifier "puVar5") (+ "+") (number_literal "0x2a1e5c")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,\n                 *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (( "(") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x481c" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x481c")) (, ",") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x4920")) (, ",") (number_literal "0x4dc") (, ",") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x46cc")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar5 + 0x2a1e5c))\n              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1e5c))" (( "(") (pointer_expression "**(code **)(puVar5 + 0x2a1e5c)" (* "*") (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" (* "*") (cast_expression "(code **)(puVar5 + 0x2a1e5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x2a1e5c)" (( "(") (binary_expression "puVar5 + 0x2a1e5c" (identifier "puVar5") (+ "+") (number_literal "0x2a1e5c")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,\n               *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (( "(") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4838" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x4838")) (, ",") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x4920")) (, ",") (number_literal "0x4db") (, ",") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x46cc")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc);" (call_expression "(**(code **)(puVar5 + 0x2a1e5c))\n            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (parenthesized_expression "(**(code **)(puVar5 + 0x2a1e5c))" (( "(") (pointer_expression "**(code **)(puVar5 + 0x2a1e5c)" (* "*") (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" (* "*") (cast_expression "(code **)(puVar5 + 0x2a1e5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x2a1e5c)" (( "(") (binary_expression "puVar5 + 0x2a1e5c" (identifier "puVar5") (+ "+") (number_literal "0x2a1e5c")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,\n             *(int *)(puVar5 + 0x2a1138) + -0x46cc)" (( "(") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x48f0" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x48f0")) (, ",") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x4920")) (, ",") (number_literal "0x4da") (, ",") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x46cc")) () ")"))) (; ";")) (labeled_statement "LAB_00107928:\n  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);" (statement_identifier "LAB_00107928") (: ":") (expression_statement "pcVar6 = *(code **)(puVar5 + 0x2a1e5c);" (assignment_expression "pcVar6 = *(code **)(puVar5 + 0x2a1e5c)" (identifier "pcVar6") (= "=") (pointer_expression "*(code **)(puVar5 + 0x2a1e5c)" (* "*") (cast_expression "(code **)(puVar5 + 0x2a1e5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x2a1e5c)" (( "(") (binary_expression "puVar5 + 0x2a1e5c" (identifier "puVar5") (+ "+") (number_literal "0x2a1e5c")) () ")"))))) (; ";"))) (expression_statement "piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);" (assignment_expression "piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar5 + 0x2a1138) + -0x4d48)" (( "(") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4d48" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x4d48")) () ")")))) (; ";")) (expression_statement "(*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           );" (call_expression "(*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           )" (parenthesized_expression "(*pcVar6)" (( "(") (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) () ")")) (argument_list "(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc\n           )" (( "(") (identifier "piVar2") (, ",") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x4920" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x4920")) (, ",") (number_literal "0x4e1") (, ",") (binary_expression "*(int *)(puVar5 + 0x2a1138) + -0x46cc" (pointer_expression "*(int *)(puVar5 + 0x2a1138)" (* "*") (cast_expression "(int *)(puVar5 + 0x2a1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x2a1138)" (( "(") (binary_expression "puVar5 + 0x2a1138" (identifier "puVar5") (+ "+") (number_literal "0x2a1138")) () ")")))) (+ "+") (number_literal "-0x46cc")) () ")"))) (; ";")) (if_statement "if (piVar2 == (int *)0x0) {\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n    return;\n  }" ({ "{") (expression_statement "(**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);" (call_expression "(**(code **)(pcVar6 + 0x2a1cbc))\n              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" (parenthesized_expression "(**(code **)(pcVar6 + 0x2a1cbc))" (( "(") (pointer_expression "**(code **)(pcVar6 + 0x2a1cbc)" (* "*") (pointer_expression "*(code **)(pcVar6 + 0x2a1cbc)" (* "*") (cast_expression "(code **)(pcVar6 + 0x2a1cbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar6 + 0x2a1cbc)" (( "(") (binary_expression "pcVar6 + 0x2a1cbc" (identifier "pcVar6") (+ "+") (number_literal "0x2a1cbc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,\n               *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" (( "(") (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x48f0" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" (* "*") (cast_expression "(int *)(pcVar6 + 0x2a0f98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x2a0f98)" (( "(") (binary_expression "pcVar6 + 0x2a0f98" (identifier "pcVar6") (+ "+") (number_literal "0x2a0f98")) () ")")))) (+ "+") (number_literal "-0x48f0")) (, ",") (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" (* "*") (cast_expression "(int *)(pcVar6 + 0x2a0f98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x2a0f98)" (( "(") (binary_expression "pcVar6 + 0x2a0f98" (identifier "pcVar6") (+ "+") (number_literal "0x2a0f98")) () ")")))) (+ "+") (number_literal "-0x4920")) (, ",") (number_literal "0x516") (, ",") (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4700" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" (* "*") (cast_expression "(int *)(pcVar6 + 0x2a0f98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x2a0f98)" (( "(") (binary_expression "pcVar6 + 0x2a0f98" (identifier "pcVar6") (+ "+") (number_literal "0x2a0f98")) () ")")))) (+ "+") (number_literal "-0x4700")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" (identifier "iVar4") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (if_statement "if (iVar4 != 0) {\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }\n    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;\n    (**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);\n    iVar1 = *piVar2;\n    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }\n    *piVar2 = iVar1;\n    do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);\n  }" ({ "{") (if_statement "if (*(int *)(iVar4 + 0x336c) != -0x54535255) {\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x336c) != -0x54535255)" (( "(") (binary_expression "*(int *)(iVar4 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x336c)" (* "*") (cast_expression "(int *)(iVar4 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x336c)" (( "(") (binary_expression "iVar4 + 0x336c" (identifier "iVar4") (+ "+") (number_literal "0x336c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      (**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);\n      return;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);" (call_expression "(**(code **)(pcVar6 + 0x2a1cbc))\n                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" (parenthesized_expression "(**(code **)(pcVar6 + 0x2a1cbc))" (( "(") (pointer_expression "**(code **)(pcVar6 + 0x2a1cbc)" (* "*") (pointer_expression "*(code **)(pcVar6 + 0x2a1cbc)" (* "*") (cast_expression "(code **)(pcVar6 + 0x2a1cbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar6 + 0x2a1cbc)" (( "(") (binary_expression "pcVar6 + 0x2a1cbc" (identifier "pcVar6") (+ "+") (number_literal "0x2a1cbc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,\n                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700)" (( "(") (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4d48" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" (* "*") (cast_expression "(int *)(pcVar6 + 0x2a0f98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x2a0f98)" (( "(") (binary_expression "pcVar6 + 0x2a0f98" (identifier "pcVar6") (+ "+") (number_literal "0x2a0f98")) () ")")))) (+ "+") (number_literal "-0x4d48")) (, ",") (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" (* "*") (cast_expression "(int *)(pcVar6 + 0x2a0f98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x2a0f98)" (( "(") (binary_expression "pcVar6 + 0x2a0f98" (identifier "pcVar6") (+ "+") (number_literal "0x2a0f98")) () ")")))) (+ "+") (number_literal "-0x4920")) (, ",") (number_literal "0x519") (, ",") (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4700" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" (* "*") (cast_expression "(int *)(pcVar6 + 0x2a0f98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x2a0f98)" (( "(") (binary_expression "pcVar6 + 0x2a0f98" (identifier "pcVar6") (+ "+") (number_literal "0x2a0f98")) () ")")))) (+ "+") (number_literal "-0x4700")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x3350) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x3350) == 0" (pointer_expression "*(int *)(iVar4 + 0x3350)" (* "*") (cast_expression "(int *)(iVar4 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x3350)" (( "(") (binary_expression "iVar4 + 0x3350" (identifier "iVar4") (+ "+") (number_literal "0x3350")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001079dc;" (goto "goto") (statement_identifier "LAB_001079dc") (; ";"))) (expression_statement "(**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);" (call_expression "(**(code **)(pcVar6 + 0x2a1894))\n              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64)" (parenthesized_expression "(**(code **)(pcVar6 + 0x2a1894))" (( "(") (pointer_expression "**(code **)(pcVar6 + 0x2a1894)" (* "*") (pointer_expression "*(code **)(pcVar6 + 0x2a1894)" (* "*") (cast_expression "(code **)(pcVar6 + 0x2a1894)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar6 + 0x2a1894)" (( "(") (binary_expression "pcVar6 + 0x2a1894" (identifier "pcVar6") (+ "+") (number_literal "0x2a1894")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,\n               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4920" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" (* "*") (cast_expression "(int *)(pcVar6 + 0x2a0f98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x2a0f98)" (( "(") (binary_expression "pcVar6 + 0x2a0f98" (identifier "pcVar6") (+ "+") (number_literal "0x2a0f98")) () ")")))) (+ "+") (number_literal "-0x4920")) (, ",") (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x4714" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" (* "*") (cast_expression "(int *)(pcVar6 + 0x2a0f98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x2a0f98)" (( "(") (binary_expression "pcVar6 + 0x2a0f98" (identifier "pcVar6") (+ "+") (number_literal "0x2a0f98")) () ")")))) (+ "+") (number_literal "-0x4714")) (, ",") (number_literal "0x51b") (, ",") (binary_expression "*(int *)(pcVar6 + 0x2a0f98) + -0x62ac" (pointer_expression "*(int *)(pcVar6 + 0x2a0f98)" (* "*") (cast_expression "(int *)(pcVar6 + 0x2a0f98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x2a0f98)" (( "(") (binary_expression "pcVar6 + 0x2a0f98" (identifier "pcVar6") (+ "+") (number_literal "0x2a0f98")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "iVar4 + 0x340" (identifier "iVar4") (+ "+") (number_literal "0x340")) (, ",") (binary_expression "pcVar6 + 0x2a8f64" (identifier "pcVar6") (+ "+") (number_literal "0x2a8f64")) () ")"))) (; ";")) (expression_statement "iVar1 = *piVar2;" (assignment_expression "iVar1 = *piVar2" (identifier "iVar1") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (for_statement "for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {\nLAB_001079dc:\n      iVar1 = iVar4;\n    }" (for "for") (( "(") (assignment_expression "iVar4 = *(int *)(*piVar2 + 0x3368)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(*piVar2 + 0x3368)" (* "*") (cast_expression "(int *)(*piVar2 + 0x3368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar2 + 0x3368)" (( "(") (binary_expression "*piVar2 + 0x3368" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0x3368")) () ")"))))) (; ";") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar4 = *(int *)(iVar4 + 0x3368)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar4 + 0x3368)" (* "*") (cast_expression "(int *)(iVar4 + 0x3368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x3368)" (( "(") (binary_expression "iVar4 + 0x3368" (identifier "iVar4") (+ "+") (number_literal "0x3368")) () ")"))))) () ")") (compound_statement "{\nLAB_001079dc:\n      iVar1 = iVar4;\n    }" ({ "{") (labeled_statement "LAB_001079dc:\n      iVar1 = iVar4;" (statement_identifier "LAB_001079dc") (: ":") (expression_statement "iVar1 = iVar4;" (assignment_expression "iVar1 = iVar4" (identifier "iVar1") (= "=") (identifier "iVar4")) (; ";"))) (} "}"))) (expression_statement "*piVar2 = iVar1;" (assignment_expression "*piVar2 = iVar1" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "iVar1")) (; ";")) (do_statement "do {\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    } while (iVar4 != 0);" (do "do") (compound_statement "{\n      iVar4 = *(int *)(iVar1 + 0x3364);\n      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);\n      *(int *)(iVar1 + 0x3368) = iVar4;\n      iVar1 = iVar4;\n    }" ({ "{") (expression_statement "iVar4 = *(int *)(iVar1 + 0x3364);" (assignment_expression "iVar4 = *(int *)(iVar1 + 0x3364)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar1 + 0x3364)" (* "*") (cast_expression "(int *)(iVar1 + 0x3364)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3364)" (( "(") (binary_expression "iVar1 + 0x3364" (identifier "iVar1") (+ "+") (number_literal "0x3364")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);" (assignment_expression "*(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368)" (pointer_expression "*(undefined4 *)(iVar1 + 0x3364)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x3364)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3364)" (( "(") (binary_expression "iVar1 + 0x3364" (identifier "iVar1") (+ "+") (number_literal "0x3364")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x3368)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x3368)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3368)" (( "(") (binary_expression "iVar1 + 0x3368" (identifier "iVar1") (+ "+") (number_literal "0x3368")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar1 + 0x3368) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x3368) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x3368)" (* "*") (cast_expression "(int *)(iVar1 + 0x3368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3368)" (( "(") (binary_expression "iVar1 + 0x3368" (identifier "iVar1") (+ "+") (number_literal "0x3368")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "iVar1 = iVar4;" (assignment_expression "iVar1 = iVar4" (identifier "iVar1") (= "=") (identifier "iVar4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (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 (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (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)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (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 (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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 (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement))) (goto_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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (labeled_statement label: (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (return_statement))) (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: (goto_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 (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) condition: (binary_expression left: (identifier) right: (number_literal)) update: (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)))))) body: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (return_statement))))

void MASKED(int *param_1,int param_2)

{
  int iVar1;
  int *piVar2;
  undefined *puVar3;
  int iVar4;
  undefined *puVar5;
  code *pcVar6;
  
  if (param_1 == (int *)0x0) {
LAB_00107764:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x48f0,PTR_s_t_to_left_003a88e4 + -0x4920,0x49d,
               PTR_s_t_to_left_003a88e4 + -0x4698);
  }
  else {
    if (param_2 == 0) {
LAB_00107740:
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_t_to_left_003a88e4 + -0x4838,PTR_s_t_to_left_003a88e4 + -0x4920,0x49e,
                 PTR_s_t_to_left_003a88e4 + -0x4698);
      goto LAB_00107764;
    }
    if (*(int *)(param_2 + 0x336c) != -0x54535255) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_t_to_left_003a88e4 + -0x481c,PTR_s_t_to_left_003a88e4 + -0x4920,0x49f,
                 PTR_s_t_to_left_003a88e4 + -0x4698);
      goto LAB_00107740;
    }
    if (*(int *)(param_2 + 0x3350) != 0) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_t_to_left_003a88e4 + -0x4920,PTR_s_t_to_left_003a88e4 + -0x46ac,0x4a1,
                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);
    }
    iVar4 = *param_1;
    if (iVar4 == 0) {
      return;
    }
    if (*(int *)(iVar4 + 0x336c) == -0x54535255) {
      iVar1 = (*(code *)PTR_GetLastImageInList_003a8f58)(param_2);
      iVar4 = *(int *)(iVar4 + 0x3368);
      *(int *)(iVar1 + 0x3368) = iVar4;
      if (iVar4 != 0) {
        *(int *)(iVar4 + 0x3364) = iVar1;
      }
      iVar4 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar1);
      iVar1 = *(int *)(*param_1 + 0x3364);
      *(int *)(iVar4 + 0x3364) = iVar1;
      if (iVar1 != 0) {
        *(int *)(iVar1 + 0x3368) = iVar4;
      }
      (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);
      *param_1 = iVar4;
      return;
    }
  }
  puVar3 = PTR_s_t_to_left_003a88e4 + -0x4920;
  piVar2 = (int *)(PTR_s_t_to_left_003a88e4 + -0x4d48);
  puVar5 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)(piVar2,puVar3,0x4a4,PTR_s_t_to_left_003a88e4 + -0x4698);
  if (piVar2 != (int *)0x0) {
    if (puVar3 != (undefined *)0x0) {
      if (*(int *)(puVar3 + 0x336c) == -0x54535255) {
        if (*(int *)(puVar3 + 0x3350) != 0) {
          (**(code **)(puVar5 + 0x2a1a34))
                    (0x8000,*(int *)(puVar5 + 0x2a1138) + -0x4920,
                     *(int *)(puVar5 + 0x2a1138) + -0x46ec,0x4de,
                     *(int *)(puVar5 + 0x2a1138) + -0x62ac,puVar3 + 0x340);
        }
        iVar4 = *piVar2;
        if (iVar4 == 0) {
          return;
        }
        if (*(int *)(iVar4 + 0x336c) == -0x54535255) {
          iVar1 = (**(code **)(puVar5 + 0x2a1ca0))(puVar3);
          iVar4 = *(int *)(iVar4 + 0x3364);
          *(int *)(iVar1 + 0x3364) = iVar4;
          if (iVar4 != 0) {
            *(int *)(iVar4 + 0x3368) = iVar1;
          }
          iVar4 = (**(code **)(puVar5 + 0x2a17ac))(iVar1);
          iVar1 = *(int *)(*piVar2 + 0x3368);
          *(int *)(iVar4 + 0x3368) = iVar1;
          if (iVar1 != 0) {
            *(int *)(iVar1 + 0x3364) = iVar4;
          }
          (**(code **)(puVar5 + 0x2a17a0))(*piVar2);
          *piVar2 = iVar4;
          return;
        }
        goto LAB_00107928;
      }
      (**(code **)(puVar5 + 0x2a1e5c))
                (*(int *)(puVar5 + 0x2a1138) + -0x481c,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4dc,
                 *(int *)(puVar5 + 0x2a1138) + -0x46cc);
    }
    (**(code **)(puVar5 + 0x2a1e5c))
              (*(int *)(puVar5 + 0x2a1138) + -0x4838,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4db,
               *(int *)(puVar5 + 0x2a1138) + -0x46cc);
  }
  (**(code **)(puVar5 + 0x2a1e5c))
            (*(int *)(puVar5 + 0x2a1138) + -0x48f0,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4da,
             *(int *)(puVar5 + 0x2a1138) + -0x46cc);
LAB_00107928:
  pcVar6 = *(code **)(puVar5 + 0x2a1e5c);
  piVar2 = (int *)(*(int *)(puVar5 + 0x2a1138) + -0x4d48);
  (*pcVar6)(piVar2,*(int *)(puVar5 + 0x2a1138) + -0x4920,0x4e1,*(int *)(puVar5 + 0x2a1138) + -0x46cc
           );
  if (piVar2 == (int *)0x0) {
    (**(code **)(pcVar6 + 0x2a1cbc))
              (*(int *)(pcVar6 + 0x2a0f98) + -0x48f0,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x516,
               *(int *)(pcVar6 + 0x2a0f98) + -0x4700);
    return;
  }
  iVar4 = *piVar2;
  if (iVar4 != 0) {
    if (*(int *)(iVar4 + 0x336c) != -0x54535255) {
      (**(code **)(pcVar6 + 0x2a1cbc))
                (*(int *)(pcVar6 + 0x2a0f98) + -0x4d48,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,0x519,
                 *(int *)(pcVar6 + 0x2a0f98) + -0x4700);
      return;
    }
    if (*(int *)(iVar4 + 0x3350) == 0) goto LAB_001079dc;
    (**(code **)(pcVar6 + 0x2a1894))
              (0x8000,*(int *)(pcVar6 + 0x2a0f98) + -0x4920,*(int *)(pcVar6 + 0x2a0f98) + -0x4714,
               0x51b,*(int *)(pcVar6 + 0x2a0f98) + -0x62ac,iVar4 + 0x340,pcVar6 + 0x2a8f64);
    iVar1 = *piVar2;
    for (iVar4 = *(int *)(*piVar2 + 0x3368); iVar4 != 0; iVar4 = *(int *)(iVar4 + 0x3368)) {
LAB_001079dc:
      iVar1 = iVar4;
    }
    *piVar2 = iVar1;
    do {
      iVar4 = *(int *)(iVar1 + 0x3364);
      *(undefined4 *)(iVar1 + 0x3364) = *(undefined4 *)(iVar1 + 0x3368);
      *(int *)(iVar1 + 0x3368) = iVar4;
      iVar1 = iVar4;
    } while (iVar4 != 0);
  }
  return;
}

