
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

void __regparm3 ParseProcessingInstructions(XMLTreeRoot *root,char *xml,size_t length)

{
  int iVar1;
  char cVar2;
  undefined4 *puVar3;
  size_t sVar4;
  char *pcVar5;
  int iVar6;
  char ***pppcVar7;
  void *pvVar8;
  int *piVar9;
  ExceptionInfo *exception;
  int iVar10;
  char **ppcVar11;
  char *target;
  size_t sVar12;
  byte *pbVar13;
  int iVar14;
  byte *pbVar15;
  bool bVar16;
  bool bVar17;
  byte bVar18;
  char ***local_34;
  char *local_2c;
  int local_28;
  int local_20;
  
  bVar18 = 0;
  xml[length] = '\0';
  sVar4 = strcspn(xml,"\t\r\n ");
  local_2c = xml + sVar4;
  cVar2 = *local_2c;
  bVar16 = cVar2 != '\0';
  if (bVar16) {
    *local_2c = '\0';
    sVar4 = strspn(local_2c + 1,"\t\r\n ");
    local_2c = local_2c + sVar4 + 1;
  }
  bVar16 = bVar16 && (undefined1 *)0xffffffef < &stack0xffffffb4;
  bVar17 = cVar2 == '\0' || &stack0x00000000 == (undefined1 *)0x3c;
  iVar10 = 4;
  pbVar13 = (byte *)xml;
  pbVar15 = (byte *)0x30d9c4;
  do {
    if (iVar10 == 0) break;
    iVar10 = iVar10 + -1;
    bVar16 = *pbVar13 < *pbVar15;
    bVar17 = *pbVar13 == *pbVar15;
    pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;
    pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;
  } while (bVar17);
  if ((!bVar16 && !bVar17) == bVar16) {
    pcVar5 = strstr(local_2c,"standalone");
    if (pcVar5 != (char *)0x0) {
      sVar4 = strspn(pcVar5 + 10,"\t\r\n =\'\"");
      iVar10 = 3;
      bVar16 = (undefined1 *)0xffffffef < &stack0xffffffb4;
      bVar17 = &stack0x00000000 == (undefined1 *)0x3c;
      pbVar13 = (byte *)(pcVar5 + sVar4 + 10);
      pbVar15 = &DAT_002c8f03;
      do {
        if (iVar10 == 0) break;
        iVar10 = iVar10 + -1;
        bVar16 = *pbVar13 < *pbVar15;
        bVar17 = *pbVar13 == *pbVar15;
        pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;
        pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;
      } while (bVar17);
      if ((!bVar16 && !bVar17) == bVar16) {
        root->standalone = MagickTrue;
      }
    }
    return;
  }
  local_34 = root->processing_instructions;
  ppcVar11 = *local_34;
  local_28 = 0;
  if (ppcVar11 == (char **)0x0) {
    iVar10 = 0;
    local_34 = (char ***)AcquireCriticalMemory(4);
    root->processing_instructions = local_34;
    sVar12 = 2;
    *local_34 = (char **)0x0;
    local_28 = 0;
  }
  else {
    do {
      iVar6 = local_28;
      iVar10 = iVar6 * 4;
      iVar14 = strcmp(xml,*ppcVar11);
      if (iVar14 == 0) goto LAB_001c57b8;
      local_28 = iVar6 + 1;
      iVar10 = iVar10 + 4;
      ppcVar11 = local_34[local_28];
    } while (ppcVar11 != (char **)0x0);
    sVar12 = iVar6 + 3;
  }
  pppcVar7 = (char ***)ResizeQuantumMemory(local_34,sVar12,4);
  root->processing_instructions = pppcVar7;
  if (pppcVar7 == (char ***)0x0) {
    exception = AcquireExceptionInfo();
    piVar9 = __errno_location();
    pcVar5 = GetExceptionMessage(*piVar9);
    sVar12 = 0x67d;
  }
  else {
    pvVar8 = AcquireQuantumMemory(3,4);
    *(void **)((int)pppcVar7 + iVar10) = pvVar8;
    piVar9 = (int *)((int)root->processing_instructions + iVar10);
    if (*piVar9 == 0) {
      exception = AcquireExceptionInfo();
      piVar9 = __errno_location();
      pcVar5 = GetExceptionMessage(*piVar9);
      sVar12 = 0x681;
    }
    else {
      root->processing_instructions[local_28 + 1] = (char **)0x0;
      puVar3 = (undefined4 *)*piVar9;
      pcVar5 = ConstantString(xml);
      *puVar3 = pcVar5;
      pppcVar7 = root->processing_instructions + local_28 + 1;
      piVar9 = (int *)((int)root->processing_instructions + iVar10);
      *(char ***)(*piVar9 + 4) = *pppcVar7;
      *pppcVar7 = (char **)0x0;
      iVar14 = *piVar9;
      pcVar5 = ConstantString("");
      *(char **)(iVar14 + 8) = pcVar5;
      local_34 = root->processing_instructions;
LAB_001c57b8:
      pvVar8 = *(void **)((int)local_34 + iVar10);
      if (*(int *)((int)pvVar8 + 4) == 0) {
        sVar12 = 4;
        iVar14 = 1;
        local_20 = 4;
      }
      else {
        iVar14 = 1;
        do {
          iVar6 = iVar14;
          iVar14 = iVar6 + 1;
          local_20 = iVar14 * 4;
        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);
        sVar12 = iVar6 + 4;
      }
      pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4);
      *(void **)((int)local_34 + iVar10) = pvVar8;
      iVar6 = *(int *)((int)root->processing_instructions + iVar10);
      if (iVar6 == 0) {
        exception = AcquireExceptionInfo();
        piVar9 = __errno_location();
        pcVar5 = GetExceptionMessage(*piVar9);
        sVar12 = 0x690;
      }
      else {
        iVar1 = iVar14 + 1;
        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);
        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;
        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);
        if (iVar6 != 0) {
          pcVar5 = "<";
          if ((root->root).tag != (char *)0x0) {
            pcVar5 = ">";
          }
          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);
          iVar14 = *(int *)((int)root->processing_instructions + iVar10);
          pcVar5 = ConstantString(local_2c);
          *(char **)(local_20 + iVar14) = pcVar5;
          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;
          return;
        }
        exception = AcquireExceptionInfo();
        piVar9 = __errno_location();
        pcVar5 = GetExceptionMessage(*piVar9);
        sVar12 = 0x695;
      }
    }
  }
  ThrowMagickException
            (exception,"MagickCore/xml-tree.c","ParseProcessingInstructions",sVar12,
             FatalErrorException,"MemoryAllocationFailed","`%s\'");
  DestroyString(pcVar5);
  CatchException(exception);
  DestroyExceptionInfo(exception);
  MagickCoreTerminus();
                    /* WARNING: Subroutine does not return */
  _exit(1);
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 FUN_001c5670(int param_1,byte *param_2,int param_3)

{
  int iVar1;
  byte bVar2;
  size_t sVar3;
  char *pcVar4;
  undefined4 *puVar5;
  int iVar6;
  int iVar7;
  undefined4 uVar8;
  int *piVar9;
  int iVar10;
  byte *pbVar11;
  byte *pbVar12;
  bool bVar13;
  bool bVar14;
  byte bVar15;
  undefined4 uVar16;
  int *local_34;
  byte *local_2c;
  int local_28;
  int local_20;
  
  bVar15 = 0;
  param_2[param_3] = 0;
  sVar3 = strcspn((char *)param_2,"\t\r\n ");
  local_2c = param_2 + sVar3;
  bVar2 = *local_2c;
  bVar13 = bVar2 != 0;
  if (bVar13) {
    *local_2c = 0;
    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");
    local_2c = local_2c + sVar3 + 1;
  }
  bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;
  bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;
  iVar10 = 4;
  pbVar11 = param_2;
  pbVar12 = (byte *)0x30d9c4;
  do {
    if (iVar10 == 0) break;
    iVar10 = iVar10 + -1;
    bVar13 = *pbVar11 < *pbVar12;
    bVar14 = *pbVar11 == *pbVar12;
    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;
    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;
  } while (bVar14);
  if ((!bVar13 && !bVar14) == bVar13) {
    pcVar4 = strstr((char *)local_2c,"standalone");
    if (pcVar4 != (char *)0x0) {
      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");
      iVar10 = 3;
      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;
      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;
      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);
      pbVar12 = &DAT_002c8f03;
      do {
        if (iVar10 == 0) break;
        iVar10 = iVar10 + -1;
        bVar13 = *pbVar11 < *pbVar12;
        bVar14 = *pbVar11 == *pbVar12;
        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;
        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;
      } while (bVar14);
      if ((!bVar13 && !bVar14) == bVar13) {
        *(undefined4 *)(param_1 + 0x34) = 1;
      }
    }
    return;
  }
  local_28 = 0;
  local_34 = *(int **)(param_1 + 0x38);
  puVar5 = (undefined4 *)*local_34;
  if (puVar5 == (undefined4 *)0x0) {
    iVar10 = 0;
    puVar5 = (undefined4 *)AcquireCriticalMemory();
    *(undefined4 **)(param_1 + 0x38) = puVar5;
    *puVar5 = 0;
    local_28 = 0;
  }
  else {
    do {
      iVar10 = local_28 * 4;
      iVar7 = strcmp((char *)param_2,(char *)*puVar5);
      if (iVar7 == 0) goto LAB_001c57b8;
      local_28 = local_28 + 1;
      iVar10 = iVar10 + 4;
      puVar5 = (undefined4 *)local_34[local_28];
    } while (puVar5 != (undefined4 *)0x0);
  }
  iVar7 = ResizeQuantumMemory();
  *(int *)(param_1 + 0x38) = iVar7;
  if (iVar7 == 0) {
    uVar8 = AcquireExceptionInfo();
    __errno_location();
    GetExceptionMessage();
    uVar16 = 0x67d;
  }
  else {
    uVar8 = AcquireQuantumMemory();
    *(undefined4 *)(iVar7 + iVar10) = uVar8;
    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);
    if (*piVar9 == 0) {
      uVar8 = AcquireExceptionInfo();
      __errno_location();
      GetExceptionMessage();
      uVar16 = 0x681;
    }
    else {
      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;
      puVar5 = (undefined4 *)*piVar9;
      uVar8 = ConstantString();
      *puVar5 = uVar8;
      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));
      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);
      *(undefined4 *)(*piVar9 + 4) = *puVar5;
      *puVar5 = 0;
      iVar7 = *piVar9;
      uVar8 = ConstantString();
      *(undefined4 *)(iVar7 + 8) = uVar8;
      local_34 = *(int **)(param_1 + 0x38);
LAB_001c57b8:
      iVar7 = *(int *)((int)local_34 + iVar10);
      if (*(int *)(iVar7 + 4) == 0) {
        iVar6 = 1;
        local_20 = 4;
      }
      else {
        iVar6 = 1;
        do {
          iVar6 = iVar6 + 1;
          local_20 = iVar6 * 4;
        } while (*(int *)(iVar7 + iVar6 * 4) != 0);
      }
      iVar7 = ResizeQuantumMemory();
      *(int *)((int)local_34 + iVar10) = iVar7;
      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);
      if (iVar7 == 0) {
        uVar8 = AcquireExceptionInfo();
        __errno_location();
        GetExceptionMessage();
        uVar16 = 0x690;
      }
      else {
        iVar1 = (iVar6 + 1) * 4;
        uVar8 = ResizeQuantumMemory();
        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;
        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {
          CopyMagickString();
          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);
          uVar8 = ConstantString();
          *(undefined4 *)(local_20 + iVar7) = uVar8;
          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;
          return;
        }
        uVar8 = AcquireExceptionInfo();
        __errno_location();
        GetExceptionMessage();
        uVar16 = 0x695;
      }
    }
  }
  ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);
  DestroyString();
  CatchException();
  DestroyExceptionInfo();
  MagickCoreTerminus();
                    /* WARNING: Subroutine does not return */
  _exit(1);
}


PUSH EBP
MOV EBP,EDX
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00038830
ADD EBX,0x213985
SUB ESP,0x34
MOV byte ptr [EDX + ECX*0x1],0x0
MOV dword ptr [ESP + 0x14],EAX
LEA ESI,[EBX + 0xffef2639]
PUSH ESI
PUSH EDX
CALL 0x000335a0
ADD ESP,0x10
LEA EDI,[EBP + EAX*0x1]
CMP byte ptr [EDI],0x0
MOV dword ptr [ESP + 0x10],EDI
JZ 0x001c56c4
LEA EAX,[EDI + 0x1]
SUB ESP,0x8
MOV byte ptr [EDI],0x0
PUSH ESI
PUSH EAX
CALL 0x000331f0
ADD ESP,0x10
LEA EAX,[EDI + EAX*0x1 + 0x1]
MOV dword ptr [ESP + 0x10],EAX
LEA EDI,[EBX + 0xfff349c4]
MOV ECX,0x4
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x001c5740
LEA EAX,[EBX + 0xffef263e]
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [ESP + 0x1c]
CALL 0x000326d0
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x001c5733
LEA EAX,[EBX + 0xffef2649]
SUB ESP,0x8
PUSH EAX
LEA EAX,[ESI + 0xa]
PUSH EAX
LEA EDI,[EBX + 0xffeeff03]
CALL 0x000331f0
MOV ECX,0x3
ADD ESP,0x10
LEA ESI,[ESI + EAX*0x1 + 0xa]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x001c5733
MOV EAX,dword ptr [ESP + 0xc]
MOV dword ptr [EAX + 0x34],0x1
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0xc]
XOR ESI,ESI
MOV EAX,dword ptr [EAX + 0x38]
MOV ECX,dword ptr [EAX]
MOV dword ptr [ESP + 0x8],EAX
TEST ECX,ECX
JNZ 0x001c579f
SUB ESP,0xc
XOR EDI,EDI
PUSH 0x4
CALL 0x00031e40
MOV EDX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x18],EAX
ADD ESP,0x10
MOV dword ptr [EDX + 0x38],EAX
MOV EDX,0x2
MOV dword ptr [EAX],0x0
MOV dword ptr [ESP + 0x14],0x0
JMP 0x001c58df
MOV ECX,dword ptr [ESP + 0x8]
LEA EAX,[ESI + 0x1]
ADD EDI,0x4
MOV ECX,dword ptr [ECX + EAX*0x4]
TEST ECX,ECX
JZ 0x001c58d8
MOV ESI,EAX
LEA EDI,[ESI*0x4 + 0x0]
SUB ESP,0x8
PUSH dword ptr [ECX]
PUSH EBP
CALL 0x00033710
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x001c5788
MOV EAX,dword ptr [ESP + 0x8]
ADD EAX,EDI
MOV ECX,dword ptr [EAX]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ECX + 0x4]
TEST EAX,EAX
JZ 0x001c5990
MOV EAX,0x1
JMP 0x001c57e2
MOV EAX,ESI
LEA ESI,[EAX + 0x1]
CMP dword ptr [ECX + ESI*0x4],0x0
LEA EBP,[ESI*0x4 + 0x0]
MOV EDX,ESI
JNZ 0x001c57e0
MOV dword ptr [ESP + 0x1c],EBP
ADD EAX,0x4
MOV dword ptr [ESP + 0x14],EDX
SUB ESP,0x4
PUSH 0x4
PUSH EAX
PUSH ECX
CALL 0x00031b20
MOV EDX,dword ptr [ESP + 0x18]
MOV dword ptr [EDX],EAX
MOV EAX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EAX + 0x38]
MOV EAX,dword ptr [EAX + EDI*0x1]
TEST EAX,EAX
JZ 0x001c59ac
LEA ECX,[EDX + 0x1]
MOV dword ptr [ESP + 0x18],EDX
ADD ESI,0x1
SUB ESP,0x4
MOV dword ptr [ESP + 0xc],ECX
MOV EDX,ECX
LEA ECX,[ECX*0x4 + 0x0]
MOV dword ptr [ESP + 0x18],ECX
LEA EBP,[EAX + ECX*0x1 + 0x4]
PUSH 0x1
PUSH ESI
PUSH dword ptr [EAX + EDX*0x4]
CALL 0x00031b20
MOV ECX,dword ptr [ESP + 0x24]
MOV dword ptr [EBP],EAX
MOV EAX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX + 0x38]
MOV EAX,dword ptr [EAX + EDI*0x1]
MOV ECX,dword ptr [EAX + ECX*0x1 + 0x4]
TEST ECX,ECX
JZ 0x001c5a1f
MOV EBP,dword ptr [ESP + 0xc]
LEA ESI,[EBX + 0xffef26d1]
MOV EAX,dword ptr [EBP]
TEST EAX,EAX
LEA EAX,[EBX + 0xffef277c]
CMOVNZ EAX,ESI
SUB ESP,0x4
PUSH 0x2
PUSH EAX
LEA EAX,[ECX + EDX*0x1 + -0x1]
PUSH EAX
CALL 0x00030b70
MOV EAX,dword ptr [EBP + 0x38]
MOV ESI,dword ptr [ESP + 0x2c]
POP EDX
ADD ESI,dword ptr [EAX + EDI*0x1]
PUSH dword ptr [ESP + 0x1c]
CALL 0x00033ab8
MOV EDX,dword ptr [ESP + 0x18]
ADD ESP,0x10
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [EBP + 0x38]
MOV EAX,dword ptr [EAX + EDI*0x1]
MOV dword ptr [EAX + EDX*0x4],0x0
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ESP + 0x14],EAX
LEA EDX,[ESI + 0x3]
SUB ESP,0x4
PUSH 0x4
PUSH EDX
PUSH dword ptr [ESP + 0x14]
CALL 0x00031b20
MOV EDX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
MOV dword ptr [EDX + 0x38],EAX
TEST EAX,EAX
JZ 0x001c5a55
LEA ESI,[EAX + EDI*0x1]
SUB ESP,0x8
PUSH 0x4
PUSH 0x3
CALL 0x000317b0
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
MOV EDX,dword ptr [EAX + 0x38]
LEA EAX,[EDX + EDI*0x1]
MOV ECX,dword ptr [EAX]
TEST ECX,ECX
JZ 0x001c5a8e
MOV ECX,dword ptr [ESP + 0x14]
SUB ESP,0xc
ADD ECX,0x1
LEA ESI,[ECX*0x4 + 0x0]
MOV dword ptr [EDX + ECX*0x4],0x0
MOV dword ptr [ESP + 0x14],ESI
MOV ESI,dword ptr [EAX]
PUSH EBP
CALL 0x00033ab8
MOV EBP,dword ptr [ESP + 0x1c]
MOV dword ptr [ESI],EAX
MOV ESI,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EBP + 0x38]
ADD ESI,EAX
ADD EAX,EDI
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [ESI]
MOV dword ptr [EDX + 0x4],ECX
MOV dword ptr [ESI],0x0
MOV ESI,dword ptr [EAX]
LEA EAX,[EBX + 0xfff2c70a]
MOV dword ptr [ESP],EAX
CALL 0x00033ab8
MOV dword ptr [ESI + 0x8],EAX
MOV EAX,dword ptr [EBP + 0x38]
MOV dword ptr [ESP + 0x18],EAX
ADD ESP,0x10
JMP 0x001c57b8
MOV EAX,0x4
MOV ESI,0x1
MOV EDX,0x1
MOV dword ptr [ESP + 0x1c],0x4
JMP 0x001c57fb
CALL 0x00032f50
MOV ESI,EAX
CALL 0x000305f0
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00031c10
ADD ESP,0x10
PUSH EAX
MOV EDI,EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec63d6]
PUSH EAX
PUSH 0x2bc
PUSH 0x690
LEA EAX,[EBX + 0xffef2958]
PUSH EAX
LEA EAX,[EBX + 0xffef2620]
PUSH EAX
PUSH ESI
CALL 0x00032e80
ADD ESP,0x14
PUSH EDI
CALL 0x00032950
MOV dword ptr [ESP],ESI
CALL 0x000320b0
MOV dword ptr [ESP],ESI
CALL 0x000335b0
ADD ESP,0x10
CALL 0x000308c0
SUB ESP,0xc
PUSH 0x1
CALL 0x00031270
CALL 0x00032f50
MOV ESI,EAX
CALL 0x000305f0
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00031c10
ADD ESP,0x10
PUSH EAX
MOV EDI,EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec63d6]
PUSH EAX
PUSH 0x2bc
PUSH 0x695
JMP 0x001c59e0
CALL 0x00032f50
MOV ESI,EAX
CALL 0x000305f0
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00031c10
ADD ESP,0x10
PUSH EAX
MOV EDI,EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec63d6]
PUSH EAX
PUSH 0x2bc
PUSH 0x67d
JMP 0x001c59e0
CALL 0x00032f50
MOV ESI,EAX
CALL 0x000305f0
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00031c10
ADD ESP,0x10
PUSH EAX
MOV EDI,EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec63d6]
PUSH EAX
PUSH 0x2bc
PUSH 0x681
JMP 0x001c59e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_001c5670(int param_1,byte *param_2,int param_3)\n\n{\n  int iVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int iVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  bool bVar13;\n  bool bVar14;\n  byte bVar15;\n  undefined4 uVar16;\n  int *local_34;\n  byte *local_2c;\n  int local_28;\n  int local_20;\n  \n  bVar15 = 0;\n  param_2[param_3] = 0;\n  sVar3 = strcspn((char *)param_2,"\t\r\n ");\n  local_2c = param_2 + sVar3;\n  bVar2 = *local_2c;\n  bVar13 = bVar2 != 0;\n  if (bVar13) {\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }\n  bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;\n  bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;\n  iVar10 = 4;\n  pbVar11 = param_2;\n  pbVar12 = (byte *)0x30d9c4;\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  } while (bVar14);\n  if ((!bVar13 && !bVar14) == bVar13) {\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }\n  local_28 = 0;\n  local_34 = *(int **)(param_1 + 0x38);\n  puVar5 = (undefined4 *)*local_34;\n  if (puVar5 == (undefined4 *)0x0) {\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }\n  iVar7 = ResizeQuantumMemory();\n  *(int *)(param_1 + 0x38) = iVar7;\n  if (iVar7 == 0) {\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }\n  else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }\n  ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);\n  DestroyString();\n  CatchException();\n  DestroyExceptionInfo();\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}\n\n" comment (function_definition "void __regparm3 FUN_001c5670(int param_1,byte *param_2,int param_3)\n\n{\n  int iVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int iVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  bool bVar13;\n  bool bVar14;\n  byte bVar15;\n  undefined4 uVar16;\n  int *local_34;\n  byte *local_2c;\n  int local_28;\n  int local_20;\n  \n  bVar15 = 0;\n  param_2[param_3] = 0;\n  sVar3 = strcspn((char *)param_2,"\t\r\n ");\n  local_2c = param_2 + sVar3;\n  bVar2 = *local_2c;\n  bVar13 = bVar2 != 0;\n  if (bVar13) {\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }\n  bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;\n  bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;\n  iVar10 = 4;\n  pbVar11 = param_2;\n  pbVar12 = (byte *)0x30d9c4;\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  } while (bVar14);\n  if ((!bVar13 && !bVar14) == bVar13) {\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }\n  local_28 = 0;\n  local_34 = *(int **)(param_1 + 0x38);\n  puVar5 = (undefined4 *)*local_34;\n  if (puVar5 == (undefined4 *)0x0) {\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }\n  iVar7 = ResizeQuantumMemory();\n  *(int *)(param_1 + 0x38) = iVar7;\n  if (iVar7 == 0) {\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }\n  else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }\n  ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);\n  DestroyString();\n  CatchException();\n  DestroyExceptionInfo();\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_001c5670(int param_1,byte *param_2,int param_3)" identifier (parameter_list "(int param_1,byte *param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int iVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  bool bVar13;\n  bool bVar14;\n  byte bVar15;\n  undefined4 uVar16;\n  int *local_34;\n  byte *local_2c;\n  int local_28;\n  int local_20;\n  \n  bVar15 = 0;\n  param_2[param_3] = 0;\n  sVar3 = strcspn((char *)param_2,"\t\r\n ");\n  local_2c = param_2 + sVar3;\n  bVar2 = *local_2c;\n  bVar13 = bVar2 != 0;\n  if (bVar13) {\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }\n  bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;\n  bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;\n  iVar10 = 4;\n  pbVar11 = param_2;\n  pbVar12 = (byte *)0x30d9c4;\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  } while (bVar14);\n  if ((!bVar13 && !bVar14) == bVar13) {\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }\n  local_28 = 0;\n  local_34 = *(int **)(param_1 + 0x38);\n  puVar5 = (undefined4 *)*local_34;\n  if (puVar5 == (undefined4 *)0x0) {\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }\n  iVar7 = ResizeQuantumMemory();\n  *(int *)(param_1 + 0x38) = iVar7;\n  if (iVar7 == 0) {\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }\n  else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }\n  ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);\n  DestroyString();\n  CatchException();\n  DestroyExceptionInfo();\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "byte bVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "byte *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "bVar15 = 0;" (assignment_expression "bVar15 = 0" identifier = number_literal) ;) (expression_statement "param_2[param_3] = 0;" (assignment_expression "param_2[param_3] = 0" (subscript_expression "param_2[param_3]" identifier [ identifier ]) = number_literal) ;) (expression_statement "sVar3 = strcspn((char *)param_2,"\t\r\n ");" (assignment_expression "sVar3 = strcspn((char *)param_2,"\t\r\n ")" identifier = (call_expression "strcspn((char *)param_2,"\t\r\n ")" identifier (argument_list "((char *)param_2,"\t\r\n ")" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""\t\r\n "" " escape_sequence escape_sequence escape_sequence string_content ") )))) ;) (expression_statement "local_2c = param_2 + sVar3;" (assignment_expression "local_2c = param_2 + sVar3" identifier = (binary_expression "param_2 + sVar3" identifier + identifier)) ;) (expression_statement "bVar2 = *local_2c;" (assignment_expression "bVar2 = *local_2c" identifier = (pointer_expression "*local_2c" * identifier)) ;) (expression_statement "bVar13 = bVar2 != 0;" (assignment_expression "bVar13 = bVar2 != 0" identifier = (binary_expression "bVar2 != 0" identifier != number_literal)) ;) (if_statement "if (bVar13) {\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }" if (parenthesized_expression "(bVar13)" ( identifier )) (compound_statement "{\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }" { (expression_statement "*local_2c = 0;" (assignment_expression "*local_2c = 0" (pointer_expression "*local_2c" * identifier) = number_literal) ;) (expression_statement "sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");" (assignment_expression "sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ")" identifier = (call_expression "strspn((char *)(local_2c + 1),"\t\r\n ")" identifier (argument_list "((char *)(local_2c + 1),"\t\r\n ")" ( (cast_expression "(char *)(local_2c + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + 1)" ( (binary_expression "local_2c + 1" identifier + number_literal) ))) , (string_literal ""\t\r\n "" " escape_sequence escape_sequence escape_sequence string_content ") )))) ;) (expression_statement "local_2c = local_2c + sVar3 + 1;" (assignment_expression "local_2c = local_2c + sVar3 + 1" identifier = (binary_expression "local_2c + sVar3 + 1" (binary_expression "local_2c + sVar3" identifier + identifier) + number_literal)) ;) })) (expression_statement "bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;" (assignment_expression "bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4" identifier = (binary_expression "bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4" identifier && (binary_expression "(undefined1 *)0xffffffef < &stack0xffffffb4" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (pointer_expression "&stack0xffffffb4" & identifier)))) ;) (expression_statement "bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;" (assignment_expression "bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c" identifier = (binary_expression "bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c" (binary_expression "bVar2 == 0" identifier == number_literal) || (binary_expression "&stack0x00000000 == (undefined1 *)0x3c" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x3c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "iVar10 = 4;" (assignment_expression "iVar10 = 4" identifier = number_literal) ;) (expression_statement "pbVar11 = param_2;" (assignment_expression "pbVar11 = param_2" identifier = identifier) ;) (expression_statement "pbVar12 = (byte *)0x30d9c4;" (assignment_expression "pbVar12 = (byte *)0x30d9c4" identifier = (cast_expression "(byte *)0x30d9c4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  } while (bVar14);" do (compound_statement "{\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar11 < *pbVar12;" (assignment_expression "bVar13 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar14 = *pbVar11 == *pbVar12;" (assignment_expression "bVar14 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1" identifier = (binary_expression "pbVar11 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar11 + (uint)bVar15 * -2" identifier + (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1" identifier = (binary_expression "pbVar12 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar15 * -2" identifier + (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (if_statement "if ((!bVar13 && !bVar14) == bVar13) {\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }" if (parenthesized_expression "((!bVar13 && !bVar14) == bVar13)" ( (binary_expression "(!bVar13 && !bVar14) == bVar13" (parenthesized_expression "(!bVar13 && !bVar14)" ( (binary_expression "!bVar13 && !bVar14" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier) )) (compound_statement "{\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }" { (expression_statement "pcVar4 = strstr((char *)local_2c,"standalone");" (assignment_expression "pcVar4 = strstr((char *)local_2c,"standalone")" identifier = (call_expression "strstr((char *)local_2c,"standalone")" identifier (argument_list "((char *)local_2c,"standalone")" ( (cast_expression "(char *)local_2c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""standalone"" " string_content ") )))) ;) (if_statement "if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }" if (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }" { (expression_statement "sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");" (assignment_expression "sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"")" identifier = (call_expression "strspn(pcVar4 + 10,"\t\r\n =\'\"")" identifier (argument_list "(pcVar4 + 10,"\t\r\n =\'\"")" ( (binary_expression "pcVar4 + 10" identifier + number_literal) , (string_literal ""\t\r\n =\'\""" " escape_sequence escape_sequence escape_sequence string_content escape_sequence escape_sequence ") )))) ;) (expression_statement "iVar10 = 3;" (assignment_expression "iVar10 = 3" identifier = number_literal) ;) (expression_statement "bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;" (assignment_expression "bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4" identifier = (binary_expression "(undefined1 *)0xffffffef < &stack0xffffffb4" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (pointer_expression "&stack0xffffffb4" & identifier))) ;) (expression_statement "bVar14 = &stack0x00000000 == (undefined1 *)0x3c;" (assignment_expression "bVar14 = &stack0x00000000 == (undefined1 *)0x3c" identifier = (binary_expression "&stack0x00000000 == (undefined1 *)0x3c" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x3c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar11 = (byte *)(pcVar4 + sVar3 + 10);" (assignment_expression "pbVar11 = (byte *)(pcVar4 + sVar3 + 10)" identifier = (cast_expression "(byte *)(pcVar4 + sVar3 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + sVar3 + 10)" ( (binary_expression "pcVar4 + sVar3 + 10" (binary_expression "pcVar4 + sVar3" identifier + identifier) + number_literal) )))) ;) (expression_statement "pbVar12 = &DAT_002c8f03;" (assignment_expression "pbVar12 = &DAT_002c8f03" identifier = (pointer_expression "&DAT_002c8f03" & identifier)) ;) (do_statement "do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);" do (compound_statement "{\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar11 < *pbVar12;" (assignment_expression "bVar13 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar14 = *pbVar11 == *pbVar12;" (assignment_expression "bVar14 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1" identifier = (binary_expression "pbVar11 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar11 + (uint)bVar15 * -2" identifier + (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1" identifier = (binary_expression "pbVar12 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar15 * -2" identifier + (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (if_statement "if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }" if (parenthesized_expression "((!bVar13 && !bVar14) == bVar13)" ( (binary_expression "(!bVar13 && !bVar14) == bVar13" (parenthesized_expression "(!bVar13 && !bVar14)" ( (binary_expression "!bVar13 && !bVar14" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier) )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0x34) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x34) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) = number_literal) ;) })) })) (return_statement "return;" return ;) })) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_34 = *(int **)(param_1 + 0x38);" (assignment_expression "local_34 = *(int **)(param_1 + 0x38)" identifier = (pointer_expression "*(int **)(param_1 + 0x38)" * (cast_expression "(int **)(param_1 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = (undefined4 *)*local_34;" (assignment_expression "puVar5 = (undefined4 *)*local_34" identifier = (cast_expression "(undefined4 *)*local_34" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_34" * identifier))) ;) (if_statement "if (puVar5 == (undefined4 *)0x0) {\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }" if (parenthesized_expression "(puVar5 == (undefined4 *)0x0)" ( (binary_expression "puVar5 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)AcquireCriticalMemory();" (assignment_expression "puVar5 = (undefined4 *)AcquireCriticalMemory()" identifier = (cast_expression "(undefined4 *)AcquireCriticalMemory()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireCriticalMemory()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 **)(param_1 + 0x38) = puVar5;" (assignment_expression "*(undefined4 **)(param_1 + 0x38) = puVar5" (pointer_expression "*(undefined4 **)(param_1 + 0x38)" * (cast_expression "(undefined4 **)(param_1 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }" else (compound_statement "{\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }" { (do_statement "do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);" do (compound_statement "{\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    }" { (expression_statement "iVar10 = local_28 * 4;" (assignment_expression "iVar10 = local_28 * 4" identifier = (binary_expression "local_28 * 4" identifier * number_literal)) ;) (expression_statement "iVar7 = strcmp((char *)param_2,(char *)*puVar5);" (assignment_expression "iVar7 = strcmp((char *)param_2,(char *)*puVar5)" identifier = (call_expression "strcmp((char *)param_2,(char *)*puVar5)" identifier (argument_list "((char *)param_2,(char *)*puVar5)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier)) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_001c57b8;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001c57b8;" goto statement_identifier ;)) (expression_statement "local_28 = local_28 + 1;" (assignment_expression "local_28 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar10 + 4;" (assignment_expression "iVar10 = iVar10 + 4" identifier = (binary_expression "iVar10 + 4" identifier + number_literal)) ;) (expression_statement "puVar5 = (undefined4 *)local_34[local_28];" (assignment_expression "puVar5 = (undefined4 *)local_34[local_28]" identifier = (cast_expression "(undefined4 *)local_34[local_28]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_34[local_28]" identifier [ identifier ]))) ;) }) while (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "iVar7 = ResizeQuantumMemory();" (assignment_expression "iVar7 = ResizeQuantumMemory()" identifier = (call_expression "ResizeQuantumMemory()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(param_1 + 0x38) = iVar7;" (assignment_expression "*(int *)(param_1 + 0x38) = iVar7" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 == 0) {\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }\n  else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }" { (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "__errno_location();" (call_expression "__errno_location()" identifier (argument_list "()" ( ))) ;) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar16 = 0x67d;" (assignment_expression "uVar16 = 0x67d" identifier = number_literal) ;) }) (else_clause "else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }" else (compound_statement "{\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }" { (expression_statement "uVar8 = AcquireQuantumMemory();" (assignment_expression "uVar8 = AcquireQuantumMemory()" identifier = (call_expression "AcquireQuantumMemory()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar7 + iVar10) = uVar8;" (assignment_expression "*(undefined4 *)(iVar7 + iVar10) = uVar8" (pointer_expression "*(undefined4 *)(iVar7 + iVar10)" * (cast_expression "(undefined4 *)(iVar7 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar10)" ( (binary_expression "iVar7 + iVar10" identifier + identifier) )))) = identifier) ;) (expression_statement "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10)" identifier = (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) ;) (if_statement "if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }" if (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) (compound_statement "{\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }" { (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "__errno_location();" (call_expression "__errno_location()" identifier (argument_list "()" ( ))) ;) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar16 = 0x681;" (assignment_expression "uVar16 = 0x681" identifier = number_literal) ;) }) (else_clause "else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }" { (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4)" ( (binary_expression "*(int *)(param_1 + 0x38) + (local_28 + 1) * 4" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "(local_28 + 1) * 4" (parenthesized_expression "(local_28 + 1)" ( (binary_expression "local_28 + 1" identifier + number_literal) )) * number_literal)) )))) = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)*piVar9;" (assignment_expression "puVar5 = (undefined4 *)*piVar9" identifier = (cast_expression "(undefined4 *)*piVar9" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (expression_statement "uVar8 = ConstantString();" (assignment_expression "uVar8 = ConstantString()" identifier = (call_expression "ConstantString()" identifier (argument_list "()" ( )))) ;) (expression_statement "*puVar5 = uVar8;" (assignment_expression "*puVar5 = uVar8" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));" (assignment_expression "puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38))" identifier = (cast_expression "(undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_28 + 1) * 4 + *(int *)(param_1 + 0x38))" ( (binary_expression "(local_28 + 1) * 4 + *(int *)(param_1 + 0x38)" (binary_expression "(local_28 + 1) * 4" (parenthesized_expression "(local_28 + 1)" ( (binary_expression "local_28 + 1" identifier + number_literal) )) * number_literal) + (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) )))) ;) (expression_statement "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10)" identifier = (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "*(undefined4 *)(*piVar9 + 4) = *puVar5;" (assignment_expression "*(undefined4 *)(*piVar9 + 4) = *puVar5" (pointer_expression "*(undefined4 *)(*piVar9 + 4)" * (cast_expression "(undefined4 *)(*piVar9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + 4)" ( (binary_expression "*piVar9 + 4" (pointer_expression "*piVar9" * identifier) + number_literal) )))) = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "uVar8 = ConstantString();" (assignment_expression "uVar8 = ConstantString()" identifier = (call_expression "ConstantString()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar7 + 8) = uVar8;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = uVar8" (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_34 = *(int **)(param_1 + 0x38);" (assignment_expression "local_34 = *(int **)(param_1 + 0x38)" identifier = (pointer_expression "*(int **)(param_1 + 0x38)" * (cast_expression "(int **)(param_1 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);" statement_identifier : (expression_statement "iVar7 = *(int *)((int)local_34 + iVar10);" (assignment_expression "iVar7 = *(int *)((int)local_34 + iVar10)" identifier = (pointer_expression "*(int *)((int)local_34 + iVar10)" * (cast_expression "(int *)((int)local_34 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_34 + iVar10)" ( (binary_expression "(int)local_34 + iVar10" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;)) (if_statement "if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }" if (parenthesized_expression "(*(int *)(iVar7 + 4) == 0)" ( (binary_expression "*(int *)(iVar7 + 4) == 0" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar6 = 1;\n        local_20 = 4;\n      }" { (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "local_20 = 4;" (assignment_expression "local_20 = 4" identifier = number_literal) ;) }) (else_clause "else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }" else (compound_statement "{\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }" { (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (do_statement "do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);" do (compound_statement "{\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        }" { (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_20 = iVar6 * 4;" (assignment_expression "local_20 = iVar6 * 4" identifier = (binary_expression "iVar6 * 4" identifier * number_literal)) ;) }) while (parenthesized_expression "(*(int *)(iVar7 + iVar6 * 4) != 0)" ( (binary_expression "*(int *)(iVar7 + iVar6 * 4) != 0" (pointer_expression "*(int *)(iVar7 + iVar6 * 4)" * (cast_expression "(int *)(iVar7 + iVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar6 * 4)" ( (binary_expression "iVar7 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) != number_literal) )) ;) }))) (expression_statement "iVar7 = ResizeQuantumMemory();" (assignment_expression "iVar7 = ResizeQuantumMemory()" identifier = (call_expression "ResizeQuantumMemory()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)local_34 + iVar10) = iVar7;" (assignment_expression "*(int *)((int)local_34 + iVar10) = iVar7" (pointer_expression "*(int *)((int)local_34 + iVar10)" * (cast_expression "(int *)((int)local_34 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_34 + iVar10)" ( (binary_expression "(int)local_34 + iVar10" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) ))))) ;) (if_statement "if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }" { (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "__errno_location();" (call_expression "__errno_location()" identifier (argument_list "()" ( ))) ;) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar16 = 0x690;" (assignment_expression "uVar16 = 0x690" identifier = number_literal) ;) }) (else_clause "else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }" else (compound_statement "{\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }" { (expression_statement "iVar1 = (iVar6 + 1) * 4;" (assignment_expression "iVar1 = (iVar6 + 1) * 4" identifier = (binary_expression "(iVar6 + 1) * 4" (parenthesized_expression "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "uVar8 = ResizeQuantumMemory();" (assignment_expression "uVar8 = ResizeQuantumMemory()" identifier = (call_expression "ResizeQuantumMemory()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;" (assignment_expression "*(undefined4 *)(iVar7 + 4 + iVar1) = uVar8" (pointer_expression "*(undefined4 *)(iVar7 + 4 + iVar1)" * (cast_expression "(undefined4 *)(iVar7 + 4 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4 + iVar1)" ( (binary_expression "iVar7 + 4 + iVar1" (binary_expression "iVar7 + 4" identifier + number_literal) + identifier) )))) = identifier) ;) (if_statement "if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }" if (parenthesized_expression "(*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0)" ( (binary_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0" (pointer_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1)" * (cast_expression "(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1" (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) + number_literal) + identifier) )))) != number_literal) )) (compound_statement "{\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }" { (expression_statement "CopyMagickString();" (call_expression "CopyMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) ))))) ;) (expression_statement "uVar8 = ConstantString();" (assignment_expression "uVar8 = ConstantString()" identifier = (call_expression "ConstantString()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(local_20 + iVar7) = uVar8;" (assignment_expression "*(undefined4 *)(local_20 + iVar7) = uVar8" (pointer_expression "*(undefined4 *)(local_20 + iVar7)" * (cast_expression "(undefined4 *)(local_20 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20 + iVar7)" ( (binary_expression "local_20 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) + (binary_expression "(iVar6 + 1) * 4" (parenthesized_expression "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )) * number_literal)) )))) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "__errno_location();" (call_expression "__errno_location()" identifier (argument_list "()" ( ))) ;) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar16 = 0x695;" (assignment_expression "uVar16 = 0x695" identifier = number_literal) ;) }))) }))) }))) (expression_statement "ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);" (call_expression "ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16)" identifier (argument_list "(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16)" ( identifier , (string_literal ""MagickCore/xml-tree.c"" " string_content ") , (string_literal ""ParseProcessingInstructions"" " string_content ") , identifier ))) ;) (expression_statement "DestroyString();" (call_expression "DestroyString()" identifier (argument_list "()" ( ))) ;) (expression_statement "CatchException();" (call_expression "CatchException()" identifier (argument_list "()" ( ))) ;) (expression_statement "DestroyExceptionInfo();" (call_expression "DestroyExceptionInfo()" identifier (argument_list "()" ( ))) ;) (expression_statement "MagickCoreTerminus();" (call_expression "MagickCoreTerminus()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nvoid __regparm3 ParseProcessingInstructions(XMLTreeRoot *root,char *xml,size_t length)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 *puVar3;\n  size_t sVar4;\n  char *pcVar5;\n  int iVar6;\n  char ***pppcVar7;\n  void *pvVar8;\n  int *piVar9;\n  ExceptionInfo *exception;\n  int iVar10;\n  char **ppcVar11;\n  char *target;\n  size_t sVar12;\n  byte *pbVar13;\n  int iVar14;\n  byte *pbVar15;\n  bool bVar16;\n  bool bVar17;\n  byte bVar18;\n  char ***local_34;\n  char *local_2c;\n  int local_28;\n  int local_20;\n  \n  bVar18 = 0;\n  xml[length] = '\0';\n  sVar4 = strcspn(xml,"\t\r\n ");\n  local_2c = xml + sVar4;\n  cVar2 = *local_2c;\n  bVar16 = cVar2 != '\0';\n  if (bVar16) {\n    *local_2c = '\0';\n    sVar4 = strspn(local_2c + 1,"\t\r\n ");\n    local_2c = local_2c + sVar4 + 1;\n  }\n  bVar16 = bVar16 && (undefined1 *)0xffffffef < &stack0xffffffb4;\n  bVar17 = cVar2 == '\0' || &stack0x00000000 == (undefined1 *)0x3c;\n  iVar10 = 4;\n  pbVar13 = (byte *)xml;\n  pbVar15 = (byte *)0x30d9c4;\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar13 < *pbVar15;\n    bVar17 = *pbVar13 == *pbVar15;\n    pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n    pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n  } while (bVar17);\n  if ((!bVar16 && !bVar17) == bVar16) {\n    pcVar5 = strstr(local_2c,"standalone");\n    if (pcVar5 != (char *)0x0) {\n      sVar4 = strspn(pcVar5 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar16 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar17 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar13 = (byte *)(pcVar5 + sVar4 + 10);\n      pbVar15 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar16 = *pbVar13 < *pbVar15;\n        bVar17 = *pbVar13 == *pbVar15;\n        pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n        pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n      } while (bVar17);\n      if ((!bVar16 && !bVar17) == bVar16) {\n        root->standalone = MagickTrue;\n      }\n    }\n    return;\n  }\n  local_34 = root->processing_instructions;\n  ppcVar11 = *local_34;\n  local_28 = 0;\n  if (ppcVar11 == (char **)0x0) {\n    iVar10 = 0;\n    local_34 = (char ***)AcquireCriticalMemory(4);\n    root->processing_instructions = local_34;\n    sVar12 = 2;\n    *local_34 = (char **)0x0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar6 = local_28;\n      iVar10 = iVar6 * 4;\n      iVar14 = strcmp(xml,*ppcVar11);\n      if (iVar14 == 0) goto LAB_001c57b8;\n      local_28 = iVar6 + 1;\n      iVar10 = iVar10 + 4;\n      ppcVar11 = local_34[local_28];\n    } while (ppcVar11 != (char **)0x0);\n    sVar12 = iVar6 + 3;\n  }\n  pppcVar7 = (char ***)ResizeQuantumMemory(local_34,sVar12,4);\n  root->processing_instructions = pppcVar7;\n  if (pppcVar7 == (char ***)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar9 = __errno_location();\n    pcVar5 = GetExceptionMessage(*piVar9);\n    sVar12 = 0x67d;\n  }\n  else {\n    pvVar8 = AcquireQuantumMemory(3,4);\n    *(void **)((int)pppcVar7 + iVar10) = pvVar8;\n    piVar9 = (int *)((int)root->processing_instructions + iVar10);\n    if (*piVar9 == 0) {\n      exception = AcquireExceptionInfo();\n      piVar9 = __errno_location();\n      pcVar5 = GetExceptionMessage(*piVar9);\n      sVar12 = 0x681;\n    }\n    else {\n      root->processing_instructions[local_28 + 1] = (char **)0x0;\n      puVar3 = (undefined4 *)*piVar9;\n      pcVar5 = ConstantString(xml);\n      *puVar3 = pcVar5;\n      pppcVar7 = root->processing_instructions + local_28 + 1;\n      piVar9 = (int *)((int)root->processing_instructions + iVar10);\n      *(char ***)(*piVar9 + 4) = *pppcVar7;\n      *pppcVar7 = (char **)0x0;\n      iVar14 = *piVar9;\n      pcVar5 = ConstantString("");\n      *(char **)(iVar14 + 8) = pcVar5;\n      local_34 = root->processing_instructions;\nLAB_001c57b8:\n      pvVar8 = *(void **)((int)local_34 + iVar10);\n      if (*(int *)((int)pvVar8 + 4) == 0) {\n        sVar12 = 4;\n        iVar14 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }\n      pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4);\n      *(void **)((int)local_34 + iVar10) = pvVar8;\n      iVar6 = *(int *)((int)root->processing_instructions + iVar10);\n      if (iVar6 == 0) {\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x690;\n      }\n      else {\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }\n    }\n  }\n  ThrowMagickException\n            (exception,"MagickCore/xml-tree.c","ParseProcessingInstructions",sVar12,\n             FatalErrorException,"MemoryAllocationFailed","`%s\'");\n  DestroyString(pcVar5);\n  CatchException(exception);\n  DestroyExceptionInfo(exception);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}\n\n" comment comment (function_definition "void __regparm3 ParseProcessingInstructions(XMLTreeRoot *root,char *xml,size_t length)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 *puVar3;\n  size_t sVar4;\n  char *pcVar5;\n  int iVar6;\n  char ***pppcVar7;\n  void *pvVar8;\n  int *piVar9;\n  ExceptionInfo *exception;\n  int iVar10;\n  char **ppcVar11;\n  char *target;\n  size_t sVar12;\n  byte *pbVar13;\n  int iVar14;\n  byte *pbVar15;\n  bool bVar16;\n  bool bVar17;\n  byte bVar18;\n  char ***local_34;\n  char *local_2c;\n  int local_28;\n  int local_20;\n  \n  bVar18 = 0;\n  xml[length] = '\0';\n  sVar4 = strcspn(xml,"\t\r\n ");\n  local_2c = xml + sVar4;\n  cVar2 = *local_2c;\n  bVar16 = cVar2 != '\0';\n  if (bVar16) {\n    *local_2c = '\0';\n    sVar4 = strspn(local_2c + 1,"\t\r\n ");\n    local_2c = local_2c + sVar4 + 1;\n  }\n  bVar16 = bVar16 && (undefined1 *)0xffffffef < &stack0xffffffb4;\n  bVar17 = cVar2 == '\0' || &stack0x00000000 == (undefined1 *)0x3c;\n  iVar10 = 4;\n  pbVar13 = (byte *)xml;\n  pbVar15 = (byte *)0x30d9c4;\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar13 < *pbVar15;\n    bVar17 = *pbVar13 == *pbVar15;\n    pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n    pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n  } while (bVar17);\n  if ((!bVar16 && !bVar17) == bVar16) {\n    pcVar5 = strstr(local_2c,"standalone");\n    if (pcVar5 != (char *)0x0) {\n      sVar4 = strspn(pcVar5 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar16 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar17 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar13 = (byte *)(pcVar5 + sVar4 + 10);\n      pbVar15 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar16 = *pbVar13 < *pbVar15;\n        bVar17 = *pbVar13 == *pbVar15;\n        pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n        pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n      } while (bVar17);\n      if ((!bVar16 && !bVar17) == bVar16) {\n        root->standalone = MagickTrue;\n      }\n    }\n    return;\n  }\n  local_34 = root->processing_instructions;\n  ppcVar11 = *local_34;\n  local_28 = 0;\n  if (ppcVar11 == (char **)0x0) {\n    iVar10 = 0;\n    local_34 = (char ***)AcquireCriticalMemory(4);\n    root->processing_instructions = local_34;\n    sVar12 = 2;\n    *local_34 = (char **)0x0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar6 = local_28;\n      iVar10 = iVar6 * 4;\n      iVar14 = strcmp(xml,*ppcVar11);\n      if (iVar14 == 0) goto LAB_001c57b8;\n      local_28 = iVar6 + 1;\n      iVar10 = iVar10 + 4;\n      ppcVar11 = local_34[local_28];\n    } while (ppcVar11 != (char **)0x0);\n    sVar12 = iVar6 + 3;\n  }\n  pppcVar7 = (char ***)ResizeQuantumMemory(local_34,sVar12,4);\n  root->processing_instructions = pppcVar7;\n  if (pppcVar7 == (char ***)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar9 = __errno_location();\n    pcVar5 = GetExceptionMessage(*piVar9);\n    sVar12 = 0x67d;\n  }\n  else {\n    pvVar8 = AcquireQuantumMemory(3,4);\n    *(void **)((int)pppcVar7 + iVar10) = pvVar8;\n    piVar9 = (int *)((int)root->processing_instructions + iVar10);\n    if (*piVar9 == 0) {\n      exception = AcquireExceptionInfo();\n      piVar9 = __errno_location();\n      pcVar5 = GetExceptionMessage(*piVar9);\n      sVar12 = 0x681;\n    }\n    else {\n      root->processing_instructions[local_28 + 1] = (char **)0x0;\n      puVar3 = (undefined4 *)*piVar9;\n      pcVar5 = ConstantString(xml);\n      *puVar3 = pcVar5;\n      pppcVar7 = root->processing_instructions + local_28 + 1;\n      piVar9 = (int *)((int)root->processing_instructions + iVar10);\n      *(char ***)(*piVar9 + 4) = *pppcVar7;\n      *pppcVar7 = (char **)0x0;\n      iVar14 = *piVar9;\n      pcVar5 = ConstantString("");\n      *(char **)(iVar14 + 8) = pcVar5;\n      local_34 = root->processing_instructions;\nLAB_001c57b8:\n      pvVar8 = *(void **)((int)local_34 + iVar10);\n      if (*(int *)((int)pvVar8 + 4) == 0) {\n        sVar12 = 4;\n        iVar14 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }\n      pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4);\n      *(void **)((int)local_34 + iVar10) = pvVar8;\n      iVar6 = *(int *)((int)root->processing_instructions + iVar10);\n      if (iVar6 == 0) {\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x690;\n      }\n      else {\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }\n    }\n  }\n  ThrowMagickException\n            (exception,"MagickCore/xml-tree.c","ParseProcessingInstructions",sVar12,\n             FatalErrorException,"MemoryAllocationFailed","`%s\'");\n  DestroyString(pcVar5);\n  CatchException(exception);\n  DestroyExceptionInfo(exception);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "ParseProcessingInstructions(XMLTreeRoot *root,char *xml,size_t length)" identifier (parameter_list "(XMLTreeRoot *root,char *xml,size_t length)" ( (parameter_declaration "XMLTreeRoot *root" type_identifier (pointer_declarator "*root" * identifier)) , (parameter_declaration "char *xml" primitive_type (pointer_declarator "*xml" * identifier)) , (parameter_declaration "size_t length" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  undefined4 *puVar3;\n  size_t sVar4;\n  char *pcVar5;\n  int iVar6;\n  char ***pppcVar7;\n  void *pvVar8;\n  int *piVar9;\n  ExceptionInfo *exception;\n  int iVar10;\n  char **ppcVar11;\n  char *target;\n  size_t sVar12;\n  byte *pbVar13;\n  int iVar14;\n  byte *pbVar15;\n  bool bVar16;\n  bool bVar17;\n  byte bVar18;\n  char ***local_34;\n  char *local_2c;\n  int local_28;\n  int local_20;\n  \n  bVar18 = 0;\n  xml[length] = '\0';\n  sVar4 = strcspn(xml,"\t\r\n ");\n  local_2c = xml + sVar4;\n  cVar2 = *local_2c;\n  bVar16 = cVar2 != '\0';\n  if (bVar16) {\n    *local_2c = '\0';\n    sVar4 = strspn(local_2c + 1,"\t\r\n ");\n    local_2c = local_2c + sVar4 + 1;\n  }\n  bVar16 = bVar16 && (undefined1 *)0xffffffef < &stack0xffffffb4;\n  bVar17 = cVar2 == '\0' || &stack0x00000000 == (undefined1 *)0x3c;\n  iVar10 = 4;\n  pbVar13 = (byte *)xml;\n  pbVar15 = (byte *)0x30d9c4;\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar13 < *pbVar15;\n    bVar17 = *pbVar13 == *pbVar15;\n    pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n    pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n  } while (bVar17);\n  if ((!bVar16 && !bVar17) == bVar16) {\n    pcVar5 = strstr(local_2c,"standalone");\n    if (pcVar5 != (char *)0x0) {\n      sVar4 = strspn(pcVar5 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar16 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar17 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar13 = (byte *)(pcVar5 + sVar4 + 10);\n      pbVar15 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar16 = *pbVar13 < *pbVar15;\n        bVar17 = *pbVar13 == *pbVar15;\n        pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n        pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n      } while (bVar17);\n      if ((!bVar16 && !bVar17) == bVar16) {\n        root->standalone = MagickTrue;\n      }\n    }\n    return;\n  }\n  local_34 = root->processing_instructions;\n  ppcVar11 = *local_34;\n  local_28 = 0;\n  if (ppcVar11 == (char **)0x0) {\n    iVar10 = 0;\n    local_34 = (char ***)AcquireCriticalMemory(4);\n    root->processing_instructions = local_34;\n    sVar12 = 2;\n    *local_34 = (char **)0x0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar6 = local_28;\n      iVar10 = iVar6 * 4;\n      iVar14 = strcmp(xml,*ppcVar11);\n      if (iVar14 == 0) goto LAB_001c57b8;\n      local_28 = iVar6 + 1;\n      iVar10 = iVar10 + 4;\n      ppcVar11 = local_34[local_28];\n    } while (ppcVar11 != (char **)0x0);\n    sVar12 = iVar6 + 3;\n  }\n  pppcVar7 = (char ***)ResizeQuantumMemory(local_34,sVar12,4);\n  root->processing_instructions = pppcVar7;\n  if (pppcVar7 == (char ***)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar9 = __errno_location();\n    pcVar5 = GetExceptionMessage(*piVar9);\n    sVar12 = 0x67d;\n  }\n  else {\n    pvVar8 = AcquireQuantumMemory(3,4);\n    *(void **)((int)pppcVar7 + iVar10) = pvVar8;\n    piVar9 = (int *)((int)root->processing_instructions + iVar10);\n    if (*piVar9 == 0) {\n      exception = AcquireExceptionInfo();\n      piVar9 = __errno_location();\n      pcVar5 = GetExceptionMessage(*piVar9);\n      sVar12 = 0x681;\n    }\n    else {\n      root->processing_instructions[local_28 + 1] = (char **)0x0;\n      puVar3 = (undefined4 *)*piVar9;\n      pcVar5 = ConstantString(xml);\n      *puVar3 = pcVar5;\n      pppcVar7 = root->processing_instructions + local_28 + 1;\n      piVar9 = (int *)((int)root->processing_instructions + iVar10);\n      *(char ***)(*piVar9 + 4) = *pppcVar7;\n      *pppcVar7 = (char **)0x0;\n      iVar14 = *piVar9;\n      pcVar5 = ConstantString("");\n      *(char **)(iVar14 + 8) = pcVar5;\n      local_34 = root->processing_instructions;\nLAB_001c57b8:\n      pvVar8 = *(void **)((int)local_34 + iVar10);\n      if (*(int *)((int)pvVar8 + 4) == 0) {\n        sVar12 = 4;\n        iVar14 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }\n      pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4);\n      *(void **)((int)local_34 + iVar10) = pvVar8;\n      iVar6 = *(int *)((int)root->processing_instructions + iVar10);\n      if (iVar6 == 0) {\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x690;\n      }\n      else {\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }\n    }\n  }\n  ThrowMagickException\n            (exception,"MagickCore/xml-tree.c","ParseProcessingInstructions",sVar12,\n             FatalErrorException,"MemoryAllocationFailed","`%s\'");\n  DestroyString(pcVar5);\n  CatchException(exception);\n  DestroyExceptionInfo(exception);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char ***pppcVar7;" primitive_type (pointer_declarator "***pppcVar7" * (pointer_declarator "**pppcVar7" * (pointer_declarator "*pppcVar7" * identifier))) ;) (declaration "void *pvVar8;" primitive_type (pointer_declarator "*pvVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "ExceptionInfo *exception;" type_identifier (pointer_declarator "*exception" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "char **ppcVar11;" primitive_type (pointer_declarator "**ppcVar11" * (pointer_declarator "*ppcVar11" * identifier)) ;) (declaration "char *target;" primitive_type (pointer_declarator "*target" * identifier) ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "char ***local_34;" primitive_type (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier))) ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "bVar18 = 0;" (assignment_expression "bVar18 = 0" identifier = number_literal) ;) (expression_statement "xml[length] = '\0';" (assignment_expression "xml[length] = '\0'" (subscript_expression "xml[length]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar4 = strcspn(xml,"\t\r\n ");" (assignment_expression "sVar4 = strcspn(xml,"\t\r\n ")" identifier = (call_expression "strcspn(xml,"\t\r\n ")" identifier (argument_list "(xml,"\t\r\n ")" ( identifier , (string_literal ""\t\r\n "" " escape_sequence escape_sequence escape_sequence string_content ") )))) ;) (expression_statement "local_2c = xml + sVar4;" (assignment_expression "local_2c = xml + sVar4" identifier = (binary_expression "xml + sVar4" identifier + identifier)) ;) (expression_statement "cVar2 = *local_2c;" (assignment_expression "cVar2 = *local_2c" identifier = (pointer_expression "*local_2c" * identifier)) ;) (expression_statement "bVar16 = cVar2 != '\0';" (assignment_expression "bVar16 = cVar2 != '\0'" identifier = (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (bVar16) {\n    *local_2c = '\0';\n    sVar4 = strspn(local_2c + 1,"\t\r\n ");\n    local_2c = local_2c + sVar4 + 1;\n  }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n    *local_2c = '\0';\n    sVar4 = strspn(local_2c + 1,"\t\r\n ");\n    local_2c = local_2c + sVar4 + 1;\n  }" { (expression_statement "*local_2c = '\0';" (assignment_expression "*local_2c = '\0'" (pointer_expression "*local_2c" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar4 = strspn(local_2c + 1,"\t\r\n ");" (assignment_expression "sVar4 = strspn(local_2c + 1,"\t\r\n ")" identifier = (call_expression "strspn(local_2c + 1,"\t\r\n ")" identifier (argument_list "(local_2c + 1,"\t\r\n ")" ( (binary_expression "local_2c + 1" identifier + number_literal) , (string_literal ""\t\r\n "" " escape_sequence escape_sequence escape_sequence string_content ") )))) ;) (expression_statement "local_2c = local_2c + sVar4 + 1;" (assignment_expression "local_2c = local_2c + sVar4 + 1" identifier = (binary_expression "local_2c + sVar4 + 1" (binary_expression "local_2c + sVar4" identifier + identifier) + number_literal)) ;) })) (expression_statement "bVar16 = bVar16 && (undefined1 *)0xffffffef < &stack0xffffffb4;" (assignment_expression "bVar16 = bVar16 && (undefined1 *)0xffffffef < &stack0xffffffb4" identifier = (binary_expression "bVar16 && (undefined1 *)0xffffffef < &stack0xffffffb4" identifier && (binary_expression "(undefined1 *)0xffffffef < &stack0xffffffb4" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (pointer_expression "&stack0xffffffb4" & identifier)))) ;) (expression_statement "bVar17 = cVar2 == '\0' || &stack0x00000000 == (undefined1 *)0x3c;" (assignment_expression "bVar17 = cVar2 == '\0' || &stack0x00000000 == (undefined1 *)0x3c" identifier = (binary_expression "cVar2 == '\0' || &stack0x00000000 == (undefined1 *)0x3c" (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) || (binary_expression "&stack0x00000000 == (undefined1 *)0x3c" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x3c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "iVar10 = 4;" (assignment_expression "iVar10 = 4" identifier = number_literal) ;) (expression_statement "pbVar13 = (byte *)xml;" (assignment_expression "pbVar13 = (byte *)xml" identifier = (cast_expression "(byte *)xml" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar15 = (byte *)0x30d9c4;" (assignment_expression "pbVar15 = (byte *)0x30d9c4" identifier = (cast_expression "(byte *)0x30d9c4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar13 < *pbVar15;\n    bVar17 = *pbVar13 == *pbVar15;\n    pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n    pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n  } while (bVar17);" do (compound_statement "{\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar13 < *pbVar15;\n    bVar17 = *pbVar13 == *pbVar15;\n    pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n    pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n  }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar13 < *pbVar15;" (assignment_expression "bVar16 = *pbVar13 < *pbVar15" identifier = (binary_expression "*pbVar13 < *pbVar15" (pointer_expression "*pbVar13" * identifier) < (pointer_expression "*pbVar15" * identifier))) ;) (expression_statement "bVar17 = *pbVar13 == *pbVar15;" (assignment_expression "bVar17 = *pbVar13 == *pbVar15" identifier = (binary_expression "*pbVar13 == *pbVar15" (pointer_expression "*pbVar13" * identifier) == (pointer_expression "*pbVar15" * identifier))) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar18 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar18 * -2" identifier + (binary_expression "(uint)bVar18 * -2" (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar18 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar18 * -2" identifier + (binary_expression "(uint)bVar18 * -2" (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar17)" ( identifier )) ;) (if_statement "if ((!bVar16 && !bVar17) == bVar16) {\n    pcVar5 = strstr(local_2c,"standalone");\n    if (pcVar5 != (char *)0x0) {\n      sVar4 = strspn(pcVar5 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar16 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar17 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar13 = (byte *)(pcVar5 + sVar4 + 10);\n      pbVar15 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar16 = *pbVar13 < *pbVar15;\n        bVar17 = *pbVar13 == *pbVar15;\n        pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n        pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n      } while (bVar17);\n      if ((!bVar16 && !bVar17) == bVar16) {\n        root->standalone = MagickTrue;\n      }\n    }\n    return;\n  }" if (parenthesized_expression "((!bVar16 && !bVar17) == bVar16)" ( (binary_expression "(!bVar16 && !bVar17) == bVar16" (parenthesized_expression "(!bVar16 && !bVar17)" ( (binary_expression "!bVar16 && !bVar17" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar17" ! identifier)) )) == identifier) )) (compound_statement "{\n    pcVar5 = strstr(local_2c,"standalone");\n    if (pcVar5 != (char *)0x0) {\n      sVar4 = strspn(pcVar5 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar16 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar17 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar13 = (byte *)(pcVar5 + sVar4 + 10);\n      pbVar15 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar16 = *pbVar13 < *pbVar15;\n        bVar17 = *pbVar13 == *pbVar15;\n        pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n        pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n      } while (bVar17);\n      if ((!bVar16 && !bVar17) == bVar16) {\n        root->standalone = MagickTrue;\n      }\n    }\n    return;\n  }" { (expression_statement "pcVar5 = strstr(local_2c,"standalone");" (assignment_expression "pcVar5 = strstr(local_2c,"standalone")" identifier = (call_expression "strstr(local_2c,"standalone")" identifier (argument_list "(local_2c,"standalone")" ( identifier , (string_literal ""standalone"" " string_content ") )))) ;) (if_statement "if (pcVar5 != (char *)0x0) {\n      sVar4 = strspn(pcVar5 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar16 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar17 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar13 = (byte *)(pcVar5 + sVar4 + 10);\n      pbVar15 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar16 = *pbVar13 < *pbVar15;\n        bVar17 = *pbVar13 == *pbVar15;\n        pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n        pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n      } while (bVar17);\n      if ((!bVar16 && !bVar17) == bVar16) {\n        root->standalone = MagickTrue;\n      }\n    }" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar4 = strspn(pcVar5 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar16 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar17 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar13 = (byte *)(pcVar5 + sVar4 + 10);\n      pbVar15 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar16 = *pbVar13 < *pbVar15;\n        bVar17 = *pbVar13 == *pbVar15;\n        pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n        pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n      } while (bVar17);\n      if ((!bVar16 && !bVar17) == bVar16) {\n        root->standalone = MagickTrue;\n      }\n    }" { (expression_statement "sVar4 = strspn(pcVar5 + 10,"\t\r\n =\'\"");" (assignment_expression "sVar4 = strspn(pcVar5 + 10,"\t\r\n =\'\"")" identifier = (call_expression "strspn(pcVar5 + 10,"\t\r\n =\'\"")" identifier (argument_list "(pcVar5 + 10,"\t\r\n =\'\"")" ( (binary_expression "pcVar5 + 10" identifier + number_literal) , (string_literal ""\t\r\n =\'\""" " escape_sequence escape_sequence escape_sequence string_content escape_sequence escape_sequence ") )))) ;) (expression_statement "iVar10 = 3;" (assignment_expression "iVar10 = 3" identifier = number_literal) ;) (expression_statement "bVar16 = (undefined1 *)0xffffffef < &stack0xffffffb4;" (assignment_expression "bVar16 = (undefined1 *)0xffffffef < &stack0xffffffb4" identifier = (binary_expression "(undefined1 *)0xffffffef < &stack0xffffffb4" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (pointer_expression "&stack0xffffffb4" & identifier))) ;) (expression_statement "bVar17 = &stack0x00000000 == (undefined1 *)0x3c;" (assignment_expression "bVar17 = &stack0x00000000 == (undefined1 *)0x3c" identifier = (binary_expression "&stack0x00000000 == (undefined1 *)0x3c" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x3c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar13 = (byte *)(pcVar5 + sVar4 + 10);" (assignment_expression "pbVar13 = (byte *)(pcVar5 + sVar4 + 10)" identifier = (cast_expression "(byte *)(pcVar5 + sVar4 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + sVar4 + 10)" ( (binary_expression "pcVar5 + sVar4 + 10" (binary_expression "pcVar5 + sVar4" identifier + identifier) + number_literal) )))) ;) (expression_statement "pbVar15 = &DAT_002c8f03;" (assignment_expression "pbVar15 = &DAT_002c8f03" identifier = (pointer_expression "&DAT_002c8f03" & identifier)) ;) (do_statement "do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar16 = *pbVar13 < *pbVar15;\n        bVar17 = *pbVar13 == *pbVar15;\n        pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n        pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n      } while (bVar17);" do (compound_statement "{\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar16 = *pbVar13 < *pbVar15;\n        bVar17 = *pbVar13 == *pbVar15;\n        pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;\n        pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;\n      }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar13 < *pbVar15;" (assignment_expression "bVar16 = *pbVar13 < *pbVar15" identifier = (binary_expression "*pbVar13 < *pbVar15" (pointer_expression "*pbVar13" * identifier) < (pointer_expression "*pbVar15" * identifier))) ;) (expression_statement "bVar17 = *pbVar13 == *pbVar15;" (assignment_expression "bVar17 = *pbVar13 == *pbVar15" identifier = (binary_expression "*pbVar13 == *pbVar15" (pointer_expression "*pbVar13" * identifier) == (pointer_expression "*pbVar15" * identifier))) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar18 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar18 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar18 * -2" identifier + (binary_expression "(uint)bVar18 * -2" (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar18 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar18 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar18 * -2" identifier + (binary_expression "(uint)bVar18 * -2" (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar17)" ( identifier )) ;) (if_statement "if ((!bVar16 && !bVar17) == bVar16) {\n        root->standalone = MagickTrue;\n      }" if (parenthesized_expression "((!bVar16 && !bVar17) == bVar16)" ( (binary_expression "(!bVar16 && !bVar17) == bVar16" (parenthesized_expression "(!bVar16 && !bVar17)" ( (binary_expression "!bVar16 && !bVar17" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar17" ! identifier)) )) == identifier) )) (compound_statement "{\n        root->standalone = MagickTrue;\n      }" { (expression_statement "root->standalone = MagickTrue;" (assignment_expression "root->standalone = MagickTrue" (field_expression "root->standalone" identifier -> field_identifier) = identifier) ;) })) })) (return_statement "return;" return ;) })) (expression_statement "local_34 = root->processing_instructions;" (assignment_expression "local_34 = root->processing_instructions" identifier = (field_expression "root->processing_instructions" identifier -> field_identifier)) ;) (expression_statement "ppcVar11 = *local_34;" (assignment_expression "ppcVar11 = *local_34" identifier = (pointer_expression "*local_34" * identifier)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (if_statement "if (ppcVar11 == (char **)0x0) {\n    iVar10 = 0;\n    local_34 = (char ***)AcquireCriticalMemory(4);\n    root->processing_instructions = local_34;\n    sVar12 = 2;\n    *local_34 = (char **)0x0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar6 = local_28;\n      iVar10 = iVar6 * 4;\n      iVar14 = strcmp(xml,*ppcVar11);\n      if (iVar14 == 0) goto LAB_001c57b8;\n      local_28 = iVar6 + 1;\n      iVar10 = iVar10 + 4;\n      ppcVar11 = local_34[local_28];\n    } while (ppcVar11 != (char **)0x0);\n    sVar12 = iVar6 + 3;\n  }" if (parenthesized_expression "(ppcVar11 == (char **)0x0)" ( (binary_expression "ppcVar11 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    iVar10 = 0;\n    local_34 = (char ***)AcquireCriticalMemory(4);\n    root->processing_instructions = local_34;\n    sVar12 = 2;\n    *local_34 = (char **)0x0;\n    local_28 = 0;\n  }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "local_34 = (char ***)AcquireCriticalMemory(4);" (assignment_expression "local_34 = (char ***)AcquireCriticalMemory(4)" identifier = (cast_expression "(char ***)AcquireCriticalMemory(4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "AcquireCriticalMemory(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "root->processing_instructions = local_34;" (assignment_expression "root->processing_instructions = local_34" (field_expression "root->processing_instructions" identifier -> field_identifier) = identifier) ;) (expression_statement "sVar12 = 2;" (assignment_expression "sVar12 = 2" identifier = number_literal) ;) (expression_statement "*local_34 = (char **)0x0;" (assignment_expression "*local_34 = (char **)0x0" (pointer_expression "*local_34" * identifier) = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    do {\n      iVar6 = local_28;\n      iVar10 = iVar6 * 4;\n      iVar14 = strcmp(xml,*ppcVar11);\n      if (iVar14 == 0) goto LAB_001c57b8;\n      local_28 = iVar6 + 1;\n      iVar10 = iVar10 + 4;\n      ppcVar11 = local_34[local_28];\n    } while (ppcVar11 != (char **)0x0);\n    sVar12 = iVar6 + 3;\n  }" else (compound_statement "{\n    do {\n      iVar6 = local_28;\n      iVar10 = iVar6 * 4;\n      iVar14 = strcmp(xml,*ppcVar11);\n      if (iVar14 == 0) goto LAB_001c57b8;\n      local_28 = iVar6 + 1;\n      iVar10 = iVar10 + 4;\n      ppcVar11 = local_34[local_28];\n    } while (ppcVar11 != (char **)0x0);\n    sVar12 = iVar6 + 3;\n  }" { (do_statement "do {\n      iVar6 = local_28;\n      iVar10 = iVar6 * 4;\n      iVar14 = strcmp(xml,*ppcVar11);\n      if (iVar14 == 0) goto LAB_001c57b8;\n      local_28 = iVar6 + 1;\n      iVar10 = iVar10 + 4;\n      ppcVar11 = local_34[local_28];\n    } while (ppcVar11 != (char **)0x0);" do (compound_statement "{\n      iVar6 = local_28;\n      iVar10 = iVar6 * 4;\n      iVar14 = strcmp(xml,*ppcVar11);\n      if (iVar14 == 0) goto LAB_001c57b8;\n      local_28 = iVar6 + 1;\n      iVar10 = iVar10 + 4;\n      ppcVar11 = local_34[local_28];\n    }" { (expression_statement "iVar6 = local_28;" (assignment_expression "iVar6 = local_28" identifier = identifier) ;) (expression_statement "iVar10 = iVar6 * 4;" (assignment_expression "iVar10 = iVar6 * 4" identifier = (binary_expression "iVar6 * 4" identifier * number_literal)) ;) (expression_statement "iVar14 = strcmp(xml,*ppcVar11);" (assignment_expression "iVar14 = strcmp(xml,*ppcVar11)" identifier = (call_expression "strcmp(xml,*ppcVar11)" identifier (argument_list "(xml,*ppcVar11)" ( identifier , (pointer_expression "*ppcVar11" * identifier) )))) ;) (if_statement "if (iVar14 == 0) goto LAB_001c57b8;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001c57b8;" goto statement_identifier ;)) (expression_statement "local_28 = iVar6 + 1;" (assignment_expression "local_28 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar10 + 4;" (assignment_expression "iVar10 = iVar10 + 4" identifier = (binary_expression "iVar10 + 4" identifier + number_literal)) ;) (expression_statement "ppcVar11 = local_34[local_28];" (assignment_expression "ppcVar11 = local_34[local_28]" identifier = (subscript_expression "local_34[local_28]" identifier [ identifier ])) ;) }) while (parenthesized_expression "(ppcVar11 != (char **)0x0)" ( (binary_expression "ppcVar11 != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) ;) (expression_statement "sVar12 = iVar6 + 3;" (assignment_expression "sVar12 = iVar6 + 3" identifier = (binary_expression "iVar6 + 3" identifier + number_literal)) ;) }))) (expression_statement "pppcVar7 = (char ***)ResizeQuantumMemory(local_34,sVar12,4);" (assignment_expression "pppcVar7 = (char ***)ResizeQuantumMemory(local_34,sVar12,4)" identifier = (cast_expression "(char ***)ResizeQuantumMemory(local_34,sVar12,4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "ResizeQuantumMemory(local_34,sVar12,4)" identifier (argument_list "(local_34,sVar12,4)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "root->processing_instructions = pppcVar7;" (assignment_expression "root->processing_instructions = pppcVar7" (field_expression "root->processing_instructions" identifier -> field_identifier) = identifier) ;) (if_statement "if (pppcVar7 == (char ***)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar9 = __errno_location();\n    pcVar5 = GetExceptionMessage(*piVar9);\n    sVar12 = 0x67d;\n  }\n  else {\n    pvVar8 = AcquireQuantumMemory(3,4);\n    *(void **)((int)pppcVar7 + iVar10) = pvVar8;\n    piVar9 = (int *)((int)root->processing_instructions + iVar10);\n    if (*piVar9 == 0) {\n      exception = AcquireExceptionInfo();\n      piVar9 = __errno_location();\n      pcVar5 = GetExceptionMessage(*piVar9);\n      sVar12 = 0x681;\n    }\n    else {\n      root->processing_instructions[local_28 + 1] = (char **)0x0;\n      puVar3 = (undefined4 *)*piVar9;\n      pcVar5 = ConstantString(xml);\n      *puVar3 = pcVar5;\n      pppcVar7 = root->processing_instructions + local_28 + 1;\n      piVar9 = (int *)((int)root->processing_instructions + iVar10);\n      *(char ***)(*piVar9 + 4) = *pppcVar7;\n      *pppcVar7 = (char **)0x0;\n      iVar14 = *piVar9;\n      pcVar5 = ConstantString("");\n      *(char **)(iVar14 + 8) = pcVar5;\n      local_34 = root->processing_instructions;\nLAB_001c57b8:\n      pvVar8 = *(void **)((int)local_34 + iVar10);\n      if (*(int *)((int)pvVar8 + 4) == 0) {\n        sVar12 = 4;\n        iVar14 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }\n      pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4);\n      *(void **)((int)local_34 + iVar10) = pvVar8;\n      iVar6 = *(int *)((int)root->processing_instructions + iVar10);\n      if (iVar6 == 0) {\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x690;\n      }\n      else {\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }\n    }\n  }" if (parenthesized_expression "(pppcVar7 == (char ***)0x0)" ( (binary_expression "pppcVar7 == (char ***)0x0" identifier == (cast_expression "(char ***)0x0" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    exception = AcquireExceptionInfo();\n    piVar9 = __errno_location();\n    pcVar5 = GetExceptionMessage(*piVar9);\n    sVar12 = 0x67d;\n  }" { (expression_statement "exception = AcquireExceptionInfo();" (assignment_expression "exception = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar5 = GetExceptionMessage(*piVar9);" (assignment_expression "pcVar5 = GetExceptionMessage(*piVar9)" identifier = (call_expression "GetExceptionMessage(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "sVar12 = 0x67d;" (assignment_expression "sVar12 = 0x67d" identifier = number_literal) ;) }) (else_clause "else {\n    pvVar8 = AcquireQuantumMemory(3,4);\n    *(void **)((int)pppcVar7 + iVar10) = pvVar8;\n    piVar9 = (int *)((int)root->processing_instructions + iVar10);\n    if (*piVar9 == 0) {\n      exception = AcquireExceptionInfo();\n      piVar9 = __errno_location();\n      pcVar5 = GetExceptionMessage(*piVar9);\n      sVar12 = 0x681;\n    }\n    else {\n      root->processing_instructions[local_28 + 1] = (char **)0x0;\n      puVar3 = (undefined4 *)*piVar9;\n      pcVar5 = ConstantString(xml);\n      *puVar3 = pcVar5;\n      pppcVar7 = root->processing_instructions + local_28 + 1;\n      piVar9 = (int *)((int)root->processing_instructions + iVar10);\n      *(char ***)(*piVar9 + 4) = *pppcVar7;\n      *pppcVar7 = (char **)0x0;\n      iVar14 = *piVar9;\n      pcVar5 = ConstantString("");\n      *(char **)(iVar14 + 8) = pcVar5;\n      local_34 = root->processing_instructions;\nLAB_001c57b8:\n      pvVar8 = *(void **)((int)local_34 + iVar10);\n      if (*(int *)((int)pvVar8 + 4) == 0) {\n        sVar12 = 4;\n        iVar14 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }\n      pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4);\n      *(void **)((int)local_34 + iVar10) = pvVar8;\n      iVar6 = *(int *)((int)root->processing_instructions + iVar10);\n      if (iVar6 == 0) {\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x690;\n      }\n      else {\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }\n    }\n  }" else (compound_statement "{\n    pvVar8 = AcquireQuantumMemory(3,4);\n    *(void **)((int)pppcVar7 + iVar10) = pvVar8;\n    piVar9 = (int *)((int)root->processing_instructions + iVar10);\n    if (*piVar9 == 0) {\n      exception = AcquireExceptionInfo();\n      piVar9 = __errno_location();\n      pcVar5 = GetExceptionMessage(*piVar9);\n      sVar12 = 0x681;\n    }\n    else {\n      root->processing_instructions[local_28 + 1] = (char **)0x0;\n      puVar3 = (undefined4 *)*piVar9;\n      pcVar5 = ConstantString(xml);\n      *puVar3 = pcVar5;\n      pppcVar7 = root->processing_instructions + local_28 + 1;\n      piVar9 = (int *)((int)root->processing_instructions + iVar10);\n      *(char ***)(*piVar9 + 4) = *pppcVar7;\n      *pppcVar7 = (char **)0x0;\n      iVar14 = *piVar9;\n      pcVar5 = ConstantString("");\n      *(char **)(iVar14 + 8) = pcVar5;\n      local_34 = root->processing_instructions;\nLAB_001c57b8:\n      pvVar8 = *(void **)((int)local_34 + iVar10);\n      if (*(int *)((int)pvVar8 + 4) == 0) {\n        sVar12 = 4;\n        iVar14 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }\n      pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4);\n      *(void **)((int)local_34 + iVar10) = pvVar8;\n      iVar6 = *(int *)((int)root->processing_instructions + iVar10);\n      if (iVar6 == 0) {\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x690;\n      }\n      else {\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }\n    }\n  }" { (expression_statement "pvVar8 = AcquireQuantumMemory(3,4);" (assignment_expression "pvVar8 = AcquireQuantumMemory(3,4)" identifier = (call_expression "AcquireQuantumMemory(3,4)" identifier (argument_list "(3,4)" ( number_literal , number_literal )))) ;) (expression_statement "*(void **)((int)pppcVar7 + iVar10) = pvVar8;" (assignment_expression "*(void **)((int)pppcVar7 + iVar10) = pvVar8" (pointer_expression "*(void **)((int)pppcVar7 + iVar10)" * (cast_expression "(void **)((int)pppcVar7 + iVar10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppcVar7 + iVar10)" ( (binary_expression "(int)pppcVar7 + iVar10" (cast_expression "(int)pppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "piVar9 = (int *)((int)root->processing_instructions + iVar10);" (assignment_expression "piVar9 = (int *)((int)root->processing_instructions + iVar10)" identifier = (cast_expression "(int *)((int)root->processing_instructions + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)root->processing_instructions + iVar10)" ( (binary_expression "(int)root->processing_instructions + iVar10" (cast_expression "(int)root->processing_instructions" ( (type_descriptor "int" primitive_type) ) (field_expression "root->processing_instructions" identifier -> field_identifier)) + identifier) )))) ;) (if_statement "if (*piVar9 == 0) {\n      exception = AcquireExceptionInfo();\n      piVar9 = __errno_location();\n      pcVar5 = GetExceptionMessage(*piVar9);\n      sVar12 = 0x681;\n    }\n    else {\n      root->processing_instructions[local_28 + 1] = (char **)0x0;\n      puVar3 = (undefined4 *)*piVar9;\n      pcVar5 = ConstantString(xml);\n      *puVar3 = pcVar5;\n      pppcVar7 = root->processing_instructions + local_28 + 1;\n      piVar9 = (int *)((int)root->processing_instructions + iVar10);\n      *(char ***)(*piVar9 + 4) = *pppcVar7;\n      *pppcVar7 = (char **)0x0;\n      iVar14 = *piVar9;\n      pcVar5 = ConstantString("");\n      *(char **)(iVar14 + 8) = pcVar5;\n      local_34 = root->processing_instructions;\nLAB_001c57b8:\n      pvVar8 = *(void **)((int)local_34 + iVar10);\n      if (*(int *)((int)pvVar8 + 4) == 0) {\n        sVar12 = 4;\n        iVar14 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }\n      pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4);\n      *(void **)((int)local_34 + iVar10) = pvVar8;\n      iVar6 = *(int *)((int)root->processing_instructions + iVar10);\n      if (iVar6 == 0) {\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x690;\n      }\n      else {\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }\n    }" if (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) (compound_statement "{\n      exception = AcquireExceptionInfo();\n      piVar9 = __errno_location();\n      pcVar5 = GetExceptionMessage(*piVar9);\n      sVar12 = 0x681;\n    }" { (expression_statement "exception = AcquireExceptionInfo();" (assignment_expression "exception = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar5 = GetExceptionMessage(*piVar9);" (assignment_expression "pcVar5 = GetExceptionMessage(*piVar9)" identifier = (call_expression "GetExceptionMessage(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "sVar12 = 0x681;" (assignment_expression "sVar12 = 0x681" identifier = number_literal) ;) }) (else_clause "else {\n      root->processing_instructions[local_28 + 1] = (char **)0x0;\n      puVar3 = (undefined4 *)*piVar9;\n      pcVar5 = ConstantString(xml);\n      *puVar3 = pcVar5;\n      pppcVar7 = root->processing_instructions + local_28 + 1;\n      piVar9 = (int *)((int)root->processing_instructions + iVar10);\n      *(char ***)(*piVar9 + 4) = *pppcVar7;\n      *pppcVar7 = (char **)0x0;\n      iVar14 = *piVar9;\n      pcVar5 = ConstantString("");\n      *(char **)(iVar14 + 8) = pcVar5;\n      local_34 = root->processing_instructions;\nLAB_001c57b8:\n      pvVar8 = *(void **)((int)local_34 + iVar10);\n      if (*(int *)((int)pvVar8 + 4) == 0) {\n        sVar12 = 4;\n        iVar14 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }\n      pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4);\n      *(void **)((int)local_34 + iVar10) = pvVar8;\n      iVar6 = *(int *)((int)root->processing_instructions + iVar10);\n      if (iVar6 == 0) {\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x690;\n      }\n      else {\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }\n    }" else (compound_statement "{\n      root->processing_instructions[local_28 + 1] = (char **)0x0;\n      puVar3 = (undefined4 *)*piVar9;\n      pcVar5 = ConstantString(xml);\n      *puVar3 = pcVar5;\n      pppcVar7 = root->processing_instructions + local_28 + 1;\n      piVar9 = (int *)((int)root->processing_instructions + iVar10);\n      *(char ***)(*piVar9 + 4) = *pppcVar7;\n      *pppcVar7 = (char **)0x0;\n      iVar14 = *piVar9;\n      pcVar5 = ConstantString("");\n      *(char **)(iVar14 + 8) = pcVar5;\n      local_34 = root->processing_instructions;\nLAB_001c57b8:\n      pvVar8 = *(void **)((int)local_34 + iVar10);\n      if (*(int *)((int)pvVar8 + 4) == 0) {\n        sVar12 = 4;\n        iVar14 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }\n      pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4);\n      *(void **)((int)local_34 + iVar10) = pvVar8;\n      iVar6 = *(int *)((int)root->processing_instructions + iVar10);\n      if (iVar6 == 0) {\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x690;\n      }\n      else {\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }\n    }" { (expression_statement "root->processing_instructions[local_28 + 1] = (char **)0x0;" (assignment_expression "root->processing_instructions[local_28 + 1] = (char **)0x0" (subscript_expression "root->processing_instructions[local_28 + 1]" (field_expression "root->processing_instructions" identifier -> field_identifier) [ (binary_expression "local_28 + 1" identifier + number_literal) ]) = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar3 = (undefined4 *)*piVar9;" (assignment_expression "puVar3 = (undefined4 *)*piVar9" identifier = (cast_expression "(undefined4 *)*piVar9" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (expression_statement "pcVar5 = ConstantString(xml);" (assignment_expression "pcVar5 = ConstantString(xml)" identifier = (call_expression "ConstantString(xml)" identifier (argument_list "(xml)" ( identifier )))) ;) (expression_statement "*puVar3 = pcVar5;" (assignment_expression "*puVar3 = pcVar5" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "pppcVar7 = root->processing_instructions + local_28 + 1;" (assignment_expression "pppcVar7 = root->processing_instructions + local_28 + 1" identifier = (binary_expression "root->processing_instructions + local_28 + 1" (binary_expression "root->processing_instructions + local_28" (field_expression "root->processing_instructions" identifier -> field_identifier) + identifier) + number_literal)) ;) (expression_statement "piVar9 = (int *)((int)root->processing_instructions + iVar10);" (assignment_expression "piVar9 = (int *)((int)root->processing_instructions + iVar10)" identifier = (cast_expression "(int *)((int)root->processing_instructions + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)root->processing_instructions + iVar10)" ( (binary_expression "(int)root->processing_instructions + iVar10" (cast_expression "(int)root->processing_instructions" ( (type_descriptor "int" primitive_type) ) (field_expression "root->processing_instructions" identifier -> field_identifier)) + identifier) )))) ;) (expression_statement "*(char ***)(*piVar9 + 4) = *pppcVar7;" (assignment_expression "*(char ***)(*piVar9 + 4) = *pppcVar7" (pointer_expression "*(char ***)(*piVar9 + 4)" * (cast_expression "(char ***)(*piVar9 + 4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar9 + 4)" ( (binary_expression "*piVar9 + 4" (pointer_expression "*piVar9" * identifier) + number_literal) )))) = (pointer_expression "*pppcVar7" * identifier)) ;) (expression_statement "*pppcVar7 = (char **)0x0;" (assignment_expression "*pppcVar7 = (char **)0x0" (pointer_expression "*pppcVar7" * identifier) = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar14 = *piVar9;" (assignment_expression "iVar14 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "pcVar5 = ConstantString("");" (assignment_expression "pcVar5 = ConstantString("")" identifier = (call_expression "ConstantString("")" identifier (argument_list "("")" ( (string_literal """" " ") )))) ;) (expression_statement "*(char **)(iVar14 + 8) = pcVar5;" (assignment_expression "*(char **)(iVar14 + 8) = pcVar5" (pointer_expression "*(char **)(iVar14 + 8)" * (cast_expression "(char **)(iVar14 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 8)" ( (binary_expression "iVar14 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_34 = root->processing_instructions;" (assignment_expression "local_34 = root->processing_instructions" identifier = (field_expression "root->processing_instructions" identifier -> field_identifier)) ;) (labeled_statement "LAB_001c57b8:\n      pvVar8 = *(void **)((int)local_34 + iVar10);" statement_identifier : (expression_statement "pvVar8 = *(void **)((int)local_34 + iVar10);" (assignment_expression "pvVar8 = *(void **)((int)local_34 + iVar10)" identifier = (pointer_expression "*(void **)((int)local_34 + iVar10)" * (cast_expression "(void **)((int)local_34 + iVar10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_34 + iVar10)" ( (binary_expression "(int)local_34 + iVar10" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;)) (if_statement "if (*(int *)((int)pvVar8 + 4) == 0) {\n        sVar12 = 4;\n        iVar14 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }" if (parenthesized_expression "(*(int *)((int)pvVar8 + 4) == 0)" ( (binary_expression "*(int *)((int)pvVar8 + 4) == 0" (pointer_expression "*(int *)((int)pvVar8 + 4)" * (cast_expression "(int *)((int)pvVar8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar8 + 4)" ( (binary_expression "(int)pvVar8 + 4" (cast_expression "(int)pvVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n        sVar12 = 4;\n        iVar14 = 1;\n        local_20 = 4;\n      }" { (expression_statement "sVar12 = 4;" (assignment_expression "sVar12 = 4" identifier = number_literal) ;) (expression_statement "iVar14 = 1;" (assignment_expression "iVar14 = 1" identifier = number_literal) ;) (expression_statement "local_20 = 4;" (assignment_expression "local_20 = 4" identifier = number_literal) ;) }) (else_clause "else {\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }" else (compound_statement "{\n        iVar14 = 1;\n        do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);\n        sVar12 = iVar6 + 4;\n      }" { (expression_statement "iVar14 = 1;" (assignment_expression "iVar14 = 1" identifier = number_literal) ;) (do_statement "do {\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        } while (*(int *)((int)pvVar8 + iVar14 * 4) != 0);" do (compound_statement "{\n          iVar6 = iVar14;\n          iVar14 = iVar6 + 1;\n          local_20 = iVar14 * 4;\n        }" { (expression_statement "iVar6 = iVar14;" (assignment_expression "iVar6 = iVar14" identifier = identifier) ;) (expression_statement "iVar14 = iVar6 + 1;" (assignment_expression "iVar14 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_20 = iVar14 * 4;" (assignment_expression "local_20 = iVar14 * 4" identifier = (binary_expression "iVar14 * 4" identifier * number_literal)) ;) }) while (parenthesized_expression "(*(int *)((int)pvVar8 + iVar14 * 4) != 0)" ( (binary_expression "*(int *)((int)pvVar8 + iVar14 * 4) != 0" (pointer_expression "*(int *)((int)pvVar8 + iVar14 * 4)" * (cast_expression "(int *)((int)pvVar8 + iVar14 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar8 + iVar14 * 4)" ( (binary_expression "(int)pvVar8 + iVar14 * 4" (cast_expression "(int)pvVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar14 * 4" identifier * number_literal)) )))) != number_literal) )) ;) (expression_statement "sVar12 = iVar6 + 4;" (assignment_expression "sVar12 = iVar6 + 4" identifier = (binary_expression "iVar6 + 4" identifier + number_literal)) ;) }))) (expression_statement "pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4);" (assignment_expression "pvVar8 = ResizeQuantumMemory(pvVar8,sVar12,4)" identifier = (call_expression "ResizeQuantumMemory(pvVar8,sVar12,4)" identifier (argument_list "(pvVar8,sVar12,4)" ( identifier , identifier , number_literal )))) ;) (expression_statement "*(void **)((int)local_34 + iVar10) = pvVar8;" (assignment_expression "*(void **)((int)local_34 + iVar10) = pvVar8" (pointer_expression "*(void **)((int)local_34 + iVar10)" * (cast_expression "(void **)((int)local_34 + iVar10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_34 + iVar10)" ( (binary_expression "(int)local_34 + iVar10" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "iVar6 = *(int *)((int)root->processing_instructions + iVar10);" (assignment_expression "iVar6 = *(int *)((int)root->processing_instructions + iVar10)" identifier = (pointer_expression "*(int *)((int)root->processing_instructions + iVar10)" * (cast_expression "(int *)((int)root->processing_instructions + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)root->processing_instructions + iVar10)" ( (binary_expression "(int)root->processing_instructions + iVar10" (cast_expression "(int)root->processing_instructions" ( (type_descriptor "int" primitive_type) ) (field_expression "root->processing_instructions" identifier -> field_identifier)) + identifier) ))))) ;) (if_statement "if (iVar6 == 0) {\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x690;\n      }\n      else {\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x690;\n      }" { (expression_statement "exception = AcquireExceptionInfo();" (assignment_expression "exception = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar5 = GetExceptionMessage(*piVar9);" (assignment_expression "pcVar5 = GetExceptionMessage(*piVar9)" identifier = (call_expression "GetExceptionMessage(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "sVar12 = 0x690;" (assignment_expression "sVar12 = 0x690" identifier = number_literal) ;) }) (else_clause "else {\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }" else (compound_statement "{\n        iVar1 = iVar14 + 1;\n        pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);\n        *(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;\n        iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);\n        if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }\n        exception = AcquireExceptionInfo();\n        piVar9 = __errno_location();\n        pcVar5 = GetExceptionMessage(*piVar9);\n        sVar12 = 0x695;\n      }" { (expression_statement "iVar1 = iVar14 + 1;" (assignment_expression "iVar1 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1);" (assignment_expression "pvVar8 = ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1)" identifier = (call_expression "ResizeQuantumMemory(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1)" identifier (argument_list "(*(void **)(iVar6 + iVar1 * 4),iVar14 + 1,1)" ( (pointer_expression "*(void **)(iVar6 + iVar1 * 4)" * (cast_expression "(void **)(iVar6 + iVar1 * 4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar1 * 4)" ( (binary_expression "iVar6 + iVar1 * 4" identifier + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) , (binary_expression "iVar14 + 1" identifier + number_literal) , number_literal )))) ;) (expression_statement "*(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8;" (assignment_expression "*(void **)(iVar6 + 4 + iVar1 * 4) = pvVar8" (pointer_expression "*(void **)(iVar6 + 4 + iVar1 * 4)" * (cast_expression "(void **)(iVar6 + 4 + iVar1 * 4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 4 + iVar1 * 4)" ( (binary_expression "iVar6 + 4 + iVar1 * 4" (binary_expression "iVar6 + 4" identifier + number_literal) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4);" (assignment_expression "iVar6 = *(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4)" identifier = (pointer_expression "*(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4)" * (cast_expression "(int *)(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4)" ( (binary_expression "*(int *)((int)root->processing_instructions + iVar10) + 4 + iVar1 * 4" (binary_expression "*(int *)((int)root->processing_instructions + iVar10) + 4" (pointer_expression "*(int *)((int)root->processing_instructions + iVar10)" * (cast_expression "(int *)((int)root->processing_instructions + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)root->processing_instructions + iVar10)" ( (binary_expression "(int)root->processing_instructions + iVar10" (cast_expression "(int)root->processing_instructions" ( (type_descriptor "int" primitive_type) ) (field_expression "root->processing_instructions" identifier -> field_identifier)) + identifier) )))) + number_literal) + (binary_expression "iVar1 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar6 != 0) {\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar5 = "<";\n          if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }\n          CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);\n          iVar14 = *(int *)((int)root->processing_instructions + iVar10);\n          pcVar5 = ConstantString(local_2c);\n          *(char **)(local_20 + iVar14) = pcVar5;\n          *(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;\n          return;\n        }" { (expression_statement "pcVar5 = "<";" (assignment_expression "pcVar5 = "<"" identifier = (string_literal ""<"" " string_content ")) ;) (if_statement "if ((root->root).tag != (char *)0x0) {\n            pcVar5 = ">";\n          }" if (parenthesized_expression "((root->root).tag != (char *)0x0)" ( (binary_expression "(root->root).tag != (char *)0x0" (field_expression "(root->root).tag" (parenthesized_expression "(root->root)" ( (field_expression "root->root" identifier -> field_identifier) )) . field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar5 = ">";\n          }" { (expression_statement "pcVar5 = ">";" (assignment_expression "pcVar5 = ">"" identifier = (string_literal "">"" " string_content ")) ;) })) (expression_statement "CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2);" (call_expression "CopyMagickString((char *)(iVar6 + -1 + iVar14),pcVar5,2)" identifier (argument_list "((char *)(iVar6 + -1 + iVar14),pcVar5,2)" ( (cast_expression "(char *)(iVar6 + -1 + iVar14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -1 + iVar14)" ( (binary_expression "iVar6 + -1 + iVar14" (binary_expression "iVar6 + -1" identifier + number_literal) + identifier) ))) , identifier , number_literal ))) ;) (expression_statement "iVar14 = *(int *)((int)root->processing_instructions + iVar10);" (assignment_expression "iVar14 = *(int *)((int)root->processing_instructions + iVar10)" identifier = (pointer_expression "*(int *)((int)root->processing_instructions + iVar10)" * (cast_expression "(int *)((int)root->processing_instructions + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)root->processing_instructions + iVar10)" ( (binary_expression "(int)root->processing_instructions + iVar10" (cast_expression "(int)root->processing_instructions" ( (type_descriptor "int" primitive_type) ) (field_expression "root->processing_instructions" identifier -> field_identifier)) + identifier) ))))) ;) (expression_statement "pcVar5 = ConstantString(local_2c);" (assignment_expression "pcVar5 = ConstantString(local_2c)" identifier = (call_expression "ConstantString(local_2c)" identifier (argument_list "(local_2c)" ( identifier )))) ;) (expression_statement "*(char **)(local_20 + iVar14) = pcVar5;" (assignment_expression "*(char **)(local_20 + iVar14) = pcVar5" (pointer_expression "*(char **)(local_20 + iVar14)" * (cast_expression "(char **)(local_20 + iVar14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_20 + iVar14)" ( (binary_expression "local_20 + iVar14" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4)" * (cast_expression "(undefined4 *)(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4)" ( (binary_expression "*(int *)((int)root->processing_instructions + iVar10) + iVar1 * 4" (pointer_expression "*(int *)((int)root->processing_instructions + iVar10)" * (cast_expression "(int *)((int)root->processing_instructions + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)root->processing_instructions + iVar10)" ( (binary_expression "(int)root->processing_instructions + iVar10" (cast_expression "(int)root->processing_instructions" ( (type_descriptor "int" primitive_type) ) (field_expression "root->processing_instructions" identifier -> field_identifier)) + identifier) )))) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "exception = AcquireExceptionInfo();" (assignment_expression "exception = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar5 = GetExceptionMessage(*piVar9);" (assignment_expression "pcVar5 = GetExceptionMessage(*piVar9)" identifier = (call_expression "GetExceptionMessage(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "sVar12 = 0x695;" (assignment_expression "sVar12 = 0x695" identifier = number_literal) ;) }))) }))) }))) (expression_statement "ThrowMagickException\n            (exception,"MagickCore/xml-tree.c","ParseProcessingInstructions",sVar12,\n             FatalErrorException,"MemoryAllocationFailed","`%s\'");" (call_expression "ThrowMagickException\n            (exception,"MagickCore/xml-tree.c","ParseProcessingInstructions",sVar12,\n             FatalErrorException,"MemoryAllocationFailed","`%s\'")" identifier (argument_list "(exception,"MagickCore/xml-tree.c","ParseProcessingInstructions",sVar12,\n             FatalErrorException,"MemoryAllocationFailed","`%s\'")" ( identifier , (string_literal ""MagickCore/xml-tree.c"" " string_content ") , (string_literal ""ParseProcessingInstructions"" " string_content ") , identifier , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") ))) ;) (expression_statement "DestroyString(pcVar5);" (call_expression "DestroyString(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (expression_statement "CatchException(exception);" (call_expression "CatchException(exception)" identifier (argument_list "(exception)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(exception);" (call_expression "DestroyExceptionInfo(exception)" identifier (argument_list "(exception)" ( identifier ))) ;) (expression_statement "MagickCoreTerminus();" (call_expression "MagickCoreTerminus()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit "void __regparm3 FUN_001c5670(int param_1,byte *param_2,int param_3)\n\n{\n  int iVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int iVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  bool bVar13;\n  bool bVar14;\n  byte bVar15;\n  undefined4 uVar16;\n  int *local_34;\n  byte *local_2c;\n  int local_28;\n  int local_20;\n  \n  bVar15 = 0;\n  param_2[param_3] = 0;\n  sVar3 = strcspn((char *)param_2,"\t\r\n ");\n  local_2c = param_2 + sVar3;\n  bVar2 = *local_2c;\n  bVar13 = bVar2 != 0;\n  if (bVar13) {\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }\n  bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;\n  bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;\n  iVar10 = 4;\n  pbVar11 = param_2;\n  pbVar12 = (byte *)0x30d9c4;\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  } while (bVar14);\n  if ((!bVar13 && !bVar14) == bVar13) {\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }\n  local_28 = 0;\n  local_34 = *(int **)(param_1 + 0x38);\n  puVar5 = (undefined4 *)*local_34;\n  if (puVar5 == (undefined4 *)0x0) {\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }\n  iVar7 = ResizeQuantumMemory();\n  *(int *)(param_1 + 0x38) = iVar7;\n  if (iVar7 == 0) {\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }\n  else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }\n  ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);\n  DestroyString();\n  CatchException();\n  DestroyExceptionInfo();\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}\n\n" (function_definition "void __regparm3 FUN_001c5670(int param_1,byte *param_2,int param_3)\n\n{\n  int iVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int iVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  bool bVar13;\n  bool bVar14;\n  byte bVar15;\n  undefined4 uVar16;\n  int *local_34;\n  byte *local_2c;\n  int local_28;\n  int local_20;\n  \n  bVar15 = 0;\n  param_2[param_3] = 0;\n  sVar3 = strcspn((char *)param_2,"\t\r\n ");\n  local_2c = param_2 + sVar3;\n  bVar2 = *local_2c;\n  bVar13 = bVar2 != 0;\n  if (bVar13) {\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }\n  bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;\n  bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;\n  iVar10 = 4;\n  pbVar11 = param_2;\n  pbVar12 = (byte *)0x30d9c4;\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  } while (bVar14);\n  if ((!bVar13 && !bVar14) == bVar13) {\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }\n  local_28 = 0;\n  local_34 = *(int **)(param_1 + 0x38);\n  puVar5 = (undefined4 *)*local_34;\n  if (puVar5 == (undefined4 *)0x0) {\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }\n  iVar7 = ResizeQuantumMemory();\n  *(int *)(param_1 + 0x38) = iVar7;\n  if (iVar7 == 0) {\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }\n  else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }\n  ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);\n  DestroyString();\n  CatchException();\n  DestroyExceptionInfo();\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_001c5670(int param_1,byte *param_2,int param_3)" identifier (parameter_list "(int param_1,byte *param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int iVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  bool bVar13;\n  bool bVar14;\n  byte bVar15;\n  undefined4 uVar16;\n  int *local_34;\n  byte *local_2c;\n  int local_28;\n  int local_20;\n  \n  bVar15 = 0;\n  param_2[param_3] = 0;\n  sVar3 = strcspn((char *)param_2,"\t\r\n ");\n  local_2c = param_2 + sVar3;\n  bVar2 = *local_2c;\n  bVar13 = bVar2 != 0;\n  if (bVar13) {\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }\n  bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;\n  bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;\n  iVar10 = 4;\n  pbVar11 = param_2;\n  pbVar12 = (byte *)0x30d9c4;\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  } while (bVar14);\n  if ((!bVar13 && !bVar14) == bVar13) {\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }\n  local_28 = 0;\n  local_34 = *(int **)(param_1 + 0x38);\n  puVar5 = (undefined4 *)*local_34;\n  if (puVar5 == (undefined4 *)0x0) {\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }\n  iVar7 = ResizeQuantumMemory();\n  *(int *)(param_1 + 0x38) = iVar7;\n  if (iVar7 == 0) {\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }\n  else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }\n  ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);\n  DestroyString();\n  CatchException();\n  DestroyExceptionInfo();\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "byte bVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "byte *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "bVar15 = 0;" (assignment_expression "bVar15 = 0" identifier = number_literal) ;) (expression_statement "param_2[param_3] = 0;" (assignment_expression "param_2[param_3] = 0" (subscript_expression "param_2[param_3]" identifier [ identifier ]) = number_literal) ;) (expression_statement "sVar3 = strcspn((char *)param_2,"\t\r\n ");" (assignment_expression "sVar3 = strcspn((char *)param_2,"\t\r\n ")" identifier = (call_expression "strcspn((char *)param_2,"\t\r\n ")" identifier (argument_list "((char *)param_2,"\t\r\n ")" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""\t\r\n "" " escape_sequence escape_sequence escape_sequence string_content ") )))) ;) (expression_statement "local_2c = param_2 + sVar3;" (assignment_expression "local_2c = param_2 + sVar3" identifier = (binary_expression "param_2 + sVar3" identifier + identifier)) ;) (expression_statement "bVar2 = *local_2c;" (assignment_expression "bVar2 = *local_2c" identifier = (pointer_expression "*local_2c" * identifier)) ;) (expression_statement "bVar13 = bVar2 != 0;" (assignment_expression "bVar13 = bVar2 != 0" identifier = (binary_expression "bVar2 != 0" identifier != number_literal)) ;) (if_statement "if (bVar13) {\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }" if (parenthesized_expression "(bVar13)" ( identifier )) (compound_statement "{\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }" { (expression_statement "*local_2c = 0;" (assignment_expression "*local_2c = 0" (pointer_expression "*local_2c" * identifier) = number_literal) ;) (expression_statement "sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");" (assignment_expression "sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ")" identifier = (call_expression "strspn((char *)(local_2c + 1),"\t\r\n ")" identifier (argument_list "((char *)(local_2c + 1),"\t\r\n ")" ( (cast_expression "(char *)(local_2c + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + 1)" ( (binary_expression "local_2c + 1" identifier + number_literal) ))) , (string_literal ""\t\r\n "" " escape_sequence escape_sequence escape_sequence string_content ") )))) ;) (expression_statement "local_2c = local_2c + sVar3 + 1;" (assignment_expression "local_2c = local_2c + sVar3 + 1" identifier = (binary_expression "local_2c + sVar3 + 1" (binary_expression "local_2c + sVar3" identifier + identifier) + number_literal)) ;) })) (expression_statement "bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;" (assignment_expression "bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4" identifier = (binary_expression "bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4" identifier && (binary_expression "(undefined1 *)0xffffffef < &stack0xffffffb4" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (pointer_expression "&stack0xffffffb4" & identifier)))) ;) (expression_statement "bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;" (assignment_expression "bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c" identifier = (binary_expression "bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c" (binary_expression "bVar2 == 0" identifier == number_literal) || (binary_expression "&stack0x00000000 == (undefined1 *)0x3c" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x3c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "iVar10 = 4;" (assignment_expression "iVar10 = 4" identifier = number_literal) ;) (expression_statement "pbVar11 = param_2;" (assignment_expression "pbVar11 = param_2" identifier = identifier) ;) (expression_statement "pbVar12 = (byte *)0x30d9c4;" (assignment_expression "pbVar12 = (byte *)0x30d9c4" identifier = (cast_expression "(byte *)0x30d9c4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  } while (bVar14);" do (compound_statement "{\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar11 < *pbVar12;" (assignment_expression "bVar13 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar14 = *pbVar11 == *pbVar12;" (assignment_expression "bVar14 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1" identifier = (binary_expression "pbVar11 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar11 + (uint)bVar15 * -2" identifier + (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1" identifier = (binary_expression "pbVar12 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar15 * -2" identifier + (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (if_statement "if ((!bVar13 && !bVar14) == bVar13) {\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }" if (parenthesized_expression "((!bVar13 && !bVar14) == bVar13)" ( (binary_expression "(!bVar13 && !bVar14) == bVar13" (parenthesized_expression "(!bVar13 && !bVar14)" ( (binary_expression "!bVar13 && !bVar14" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier) )) (compound_statement "{\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }" { (expression_statement "pcVar4 = strstr((char *)local_2c,"standalone");" (assignment_expression "pcVar4 = strstr((char *)local_2c,"standalone")" identifier = (call_expression "strstr((char *)local_2c,"standalone")" identifier (argument_list "((char *)local_2c,"standalone")" ( (cast_expression "(char *)local_2c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""standalone"" " string_content ") )))) ;) (if_statement "if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }" if (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }" { (expression_statement "sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");" (assignment_expression "sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"")" identifier = (call_expression "strspn(pcVar4 + 10,"\t\r\n =\'\"")" identifier (argument_list "(pcVar4 + 10,"\t\r\n =\'\"")" ( (binary_expression "pcVar4 + 10" identifier + number_literal) , (string_literal ""\t\r\n =\'\""" " escape_sequence escape_sequence escape_sequence string_content escape_sequence escape_sequence ") )))) ;) (expression_statement "iVar10 = 3;" (assignment_expression "iVar10 = 3" identifier = number_literal) ;) (expression_statement "bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;" (assignment_expression "bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4" identifier = (binary_expression "(undefined1 *)0xffffffef < &stack0xffffffb4" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (pointer_expression "&stack0xffffffb4" & identifier))) ;) (expression_statement "bVar14 = &stack0x00000000 == (undefined1 *)0x3c;" (assignment_expression "bVar14 = &stack0x00000000 == (undefined1 *)0x3c" identifier = (binary_expression "&stack0x00000000 == (undefined1 *)0x3c" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x3c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar11 = (byte *)(pcVar4 + sVar3 + 10);" (assignment_expression "pbVar11 = (byte *)(pcVar4 + sVar3 + 10)" identifier = (cast_expression "(byte *)(pcVar4 + sVar3 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + sVar3 + 10)" ( (binary_expression "pcVar4 + sVar3 + 10" (binary_expression "pcVar4 + sVar3" identifier + identifier) + number_literal) )))) ;) (expression_statement "pbVar12 = &DAT_002c8f03;" (assignment_expression "pbVar12 = &DAT_002c8f03" identifier = (pointer_expression "&DAT_002c8f03" & identifier)) ;) (do_statement "do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);" do (compound_statement "{\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar11 < *pbVar12;" (assignment_expression "bVar13 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar14 = *pbVar11 == *pbVar12;" (assignment_expression "bVar14 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1" identifier = (binary_expression "pbVar11 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar11 + (uint)bVar15 * -2" identifier + (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1" identifier = (binary_expression "pbVar12 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar15 * -2" identifier + (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (if_statement "if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }" if (parenthesized_expression "((!bVar13 && !bVar14) == bVar13)" ( (binary_expression "(!bVar13 && !bVar14) == bVar13" (parenthesized_expression "(!bVar13 && !bVar14)" ( (binary_expression "!bVar13 && !bVar14" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier) )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0x34) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x34) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) = number_literal) ;) })) })) (return_statement "return;" return ;) })) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_34 = *(int **)(param_1 + 0x38);" (assignment_expression "local_34 = *(int **)(param_1 + 0x38)" identifier = (pointer_expression "*(int **)(param_1 + 0x38)" * (cast_expression "(int **)(param_1 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = (undefined4 *)*local_34;" (assignment_expression "puVar5 = (undefined4 *)*local_34" identifier = (cast_expression "(undefined4 *)*local_34" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_34" * identifier))) ;) (if_statement "if (puVar5 == (undefined4 *)0x0) {\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }" if (parenthesized_expression "(puVar5 == (undefined4 *)0x0)" ( (binary_expression "puVar5 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)AcquireCriticalMemory();" (assignment_expression "puVar5 = (undefined4 *)AcquireCriticalMemory()" identifier = (cast_expression "(undefined4 *)AcquireCriticalMemory()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireCriticalMemory()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 **)(param_1 + 0x38) = puVar5;" (assignment_expression "*(undefined4 **)(param_1 + 0x38) = puVar5" (pointer_expression "*(undefined4 **)(param_1 + 0x38)" * (cast_expression "(undefined4 **)(param_1 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }" else (compound_statement "{\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }" { (do_statement "do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);" do (compound_statement "{\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    }" { (expression_statement "iVar10 = local_28 * 4;" (assignment_expression "iVar10 = local_28 * 4" identifier = (binary_expression "local_28 * 4" identifier * number_literal)) ;) (expression_statement "iVar7 = strcmp((char *)param_2,(char *)*puVar5);" (assignment_expression "iVar7 = strcmp((char *)param_2,(char *)*puVar5)" identifier = (call_expression "strcmp((char *)param_2,(char *)*puVar5)" identifier (argument_list "((char *)param_2,(char *)*puVar5)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier)) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_001c57b8;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001c57b8;" goto statement_identifier ;)) (expression_statement "local_28 = local_28 + 1;" (assignment_expression "local_28 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar10 + 4;" (assignment_expression "iVar10 = iVar10 + 4" identifier = (binary_expression "iVar10 + 4" identifier + number_literal)) ;) (expression_statement "puVar5 = (undefined4 *)local_34[local_28];" (assignment_expression "puVar5 = (undefined4 *)local_34[local_28]" identifier = (cast_expression "(undefined4 *)local_34[local_28]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_34[local_28]" identifier [ identifier ]))) ;) }) while (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "iVar7 = ResizeQuantumMemory();" (assignment_expression "iVar7 = ResizeQuantumMemory()" identifier = (call_expression "ResizeQuantumMemory()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(param_1 + 0x38) = iVar7;" (assignment_expression "*(int *)(param_1 + 0x38) = iVar7" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 == 0) {\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }\n  else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }" { (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "__errno_location();" (call_expression "__errno_location()" identifier (argument_list "()" ( ))) ;) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar16 = 0x67d;" (assignment_expression "uVar16 = 0x67d" identifier = number_literal) ;) }) (else_clause "else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }" else (compound_statement "{\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }" { (expression_statement "uVar8 = AcquireQuantumMemory();" (assignment_expression "uVar8 = AcquireQuantumMemory()" identifier = (call_expression "AcquireQuantumMemory()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar7 + iVar10) = uVar8;" (assignment_expression "*(undefined4 *)(iVar7 + iVar10) = uVar8" (pointer_expression "*(undefined4 *)(iVar7 + iVar10)" * (cast_expression "(undefined4 *)(iVar7 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar10)" ( (binary_expression "iVar7 + iVar10" identifier + identifier) )))) = identifier) ;) (expression_statement "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10)" identifier = (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) ;) (if_statement "if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }" if (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) (compound_statement "{\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }" { (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "__errno_location();" (call_expression "__errno_location()" identifier (argument_list "()" ( ))) ;) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar16 = 0x681;" (assignment_expression "uVar16 = 0x681" identifier = number_literal) ;) }) (else_clause "else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }" { (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4)" ( (binary_expression "*(int *)(param_1 + 0x38) + (local_28 + 1) * 4" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "(local_28 + 1) * 4" (parenthesized_expression "(local_28 + 1)" ( (binary_expression "local_28 + 1" identifier + number_literal) )) * number_literal)) )))) = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)*piVar9;" (assignment_expression "puVar5 = (undefined4 *)*piVar9" identifier = (cast_expression "(undefined4 *)*piVar9" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (expression_statement "uVar8 = ConstantString();" (assignment_expression "uVar8 = ConstantString()" identifier = (call_expression "ConstantString()" identifier (argument_list "()" ( )))) ;) (expression_statement "*puVar5 = uVar8;" (assignment_expression "*puVar5 = uVar8" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));" (assignment_expression "puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38))" identifier = (cast_expression "(undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_28 + 1) * 4 + *(int *)(param_1 + 0x38))" ( (binary_expression "(local_28 + 1) * 4 + *(int *)(param_1 + 0x38)" (binary_expression "(local_28 + 1) * 4" (parenthesized_expression "(local_28 + 1)" ( (binary_expression "local_28 + 1" identifier + number_literal) )) * number_literal) + (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) )))) ;) (expression_statement "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10)" identifier = (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "*(undefined4 *)(*piVar9 + 4) = *puVar5;" (assignment_expression "*(undefined4 *)(*piVar9 + 4) = *puVar5" (pointer_expression "*(undefined4 *)(*piVar9 + 4)" * (cast_expression "(undefined4 *)(*piVar9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + 4)" ( (binary_expression "*piVar9 + 4" (pointer_expression "*piVar9" * identifier) + number_literal) )))) = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "uVar8 = ConstantString();" (assignment_expression "uVar8 = ConstantString()" identifier = (call_expression "ConstantString()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar7 + 8) = uVar8;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = uVar8" (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_34 = *(int **)(param_1 + 0x38);" (assignment_expression "local_34 = *(int **)(param_1 + 0x38)" identifier = (pointer_expression "*(int **)(param_1 + 0x38)" * (cast_expression "(int **)(param_1 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);" statement_identifier : (expression_statement "iVar7 = *(int *)((int)local_34 + iVar10);" (assignment_expression "iVar7 = *(int *)((int)local_34 + iVar10)" identifier = (pointer_expression "*(int *)((int)local_34 + iVar10)" * (cast_expression "(int *)((int)local_34 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_34 + iVar10)" ( (binary_expression "(int)local_34 + iVar10" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;)) (if_statement "if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }" if (parenthesized_expression "(*(int *)(iVar7 + 4) == 0)" ( (binary_expression "*(int *)(iVar7 + 4) == 0" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar6 = 1;\n        local_20 = 4;\n      }" { (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "local_20 = 4;" (assignment_expression "local_20 = 4" identifier = number_literal) ;) }) (else_clause "else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }" else (compound_statement "{\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }" { (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (do_statement "do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);" do (compound_statement "{\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        }" { (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_20 = iVar6 * 4;" (assignment_expression "local_20 = iVar6 * 4" identifier = (binary_expression "iVar6 * 4" identifier * number_literal)) ;) }) while (parenthesized_expression "(*(int *)(iVar7 + iVar6 * 4) != 0)" ( (binary_expression "*(int *)(iVar7 + iVar6 * 4) != 0" (pointer_expression "*(int *)(iVar7 + iVar6 * 4)" * (cast_expression "(int *)(iVar7 + iVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar6 * 4)" ( (binary_expression "iVar7 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) != number_literal) )) ;) }))) (expression_statement "iVar7 = ResizeQuantumMemory();" (assignment_expression "iVar7 = ResizeQuantumMemory()" identifier = (call_expression "ResizeQuantumMemory()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)local_34 + iVar10) = iVar7;" (assignment_expression "*(int *)((int)local_34 + iVar10) = iVar7" (pointer_expression "*(int *)((int)local_34 + iVar10)" * (cast_expression "(int *)((int)local_34 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_34 + iVar10)" ( (binary_expression "(int)local_34 + iVar10" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) ))))) ;) (if_statement "if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }" { (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "__errno_location();" (call_expression "__errno_location()" identifier (argument_list "()" ( ))) ;) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar16 = 0x690;" (assignment_expression "uVar16 = 0x690" identifier = number_literal) ;) }) (else_clause "else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }" else (compound_statement "{\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }" { (expression_statement "iVar1 = (iVar6 + 1) * 4;" (assignment_expression "iVar1 = (iVar6 + 1) * 4" identifier = (binary_expression "(iVar6 + 1) * 4" (parenthesized_expression "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "uVar8 = ResizeQuantumMemory();" (assignment_expression "uVar8 = ResizeQuantumMemory()" identifier = (call_expression "ResizeQuantumMemory()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;" (assignment_expression "*(undefined4 *)(iVar7 + 4 + iVar1) = uVar8" (pointer_expression "*(undefined4 *)(iVar7 + 4 + iVar1)" * (cast_expression "(undefined4 *)(iVar7 + 4 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4 + iVar1)" ( (binary_expression "iVar7 + 4 + iVar1" (binary_expression "iVar7 + 4" identifier + number_literal) + identifier) )))) = identifier) ;) (if_statement "if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }" if (parenthesized_expression "(*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0)" ( (binary_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0" (pointer_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1)" * (cast_expression "(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1" (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) + number_literal) + identifier) )))) != number_literal) )) (compound_statement "{\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }" { (expression_statement "CopyMagickString();" (call_expression "CopyMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) ))))) ;) (expression_statement "uVar8 = ConstantString();" (assignment_expression "uVar8 = ConstantString()" identifier = (call_expression "ConstantString()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(local_20 + iVar7) = uVar8;" (assignment_expression "*(undefined4 *)(local_20 + iVar7) = uVar8" (pointer_expression "*(undefined4 *)(local_20 + iVar7)" * (cast_expression "(undefined4 *)(local_20 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20 + iVar7)" ( (binary_expression "local_20 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" ( (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) + (binary_expression "(iVar6 + 1) * 4" (parenthesized_expression "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )) * number_literal)) )))) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "__errno_location();" (call_expression "__errno_location()" identifier (argument_list "()" ( ))) ;) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar16 = 0x695;" (assignment_expression "uVar16 = 0x695" identifier = number_literal) ;) }))) }))) }))) (expression_statement "ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);" (call_expression "ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16)" identifier (argument_list "(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16)" ( identifier , (string_literal ""MagickCore/xml-tree.c"" " string_content ") , (string_literal ""ParseProcessingInstructions"" " string_content ") , identifier ))) ;) (expression_statement "DestroyString();" (call_expression "DestroyString()" identifier (argument_list "()" ( ))) ;) (expression_statement "CatchException();" (call_expression "CatchException()" identifier (argument_list "()" ( ))) ;) (expression_statement "DestroyExceptionInfo();" (call_expression "DestroyExceptionInfo()" identifier (argument_list "()" ( ))) ;) (expression_statement "MagickCoreTerminus();" (call_expression "MagickCoreTerminus()" identifier (argument_list "()" ( ))) ;) (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " escape_sequence escape_sequence escape_sequence string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , (string_literal " escape_sequence escape_sequence escape_sequence string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT && (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (pointer_expression & IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT == LIT) || (binary_expression (pointer_expression & IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (string_literal " escape_sequence escape_sequence escape_sequence string_content escape_sequence escape_sequence ") )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_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 = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ IDENT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (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) )))) + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) != LIT) )) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) + LIT) + IDENT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) = LIT) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })))
(function_definition "void __regparm3 FUN_001c5670(int param_1,byte *param_2,int param_3)\n\n{\n  int iVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int iVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  bool bVar13;\n  bool bVar14;\n  byte bVar15;\n  undefined4 uVar16;\n  int *local_34;\n  byte *local_2c;\n  int local_28;\n  int local_20;\n  \n  bVar15 = 0;\n  param_2[param_3] = 0;\n  sVar3 = strcspn((char *)param_2,"\t\r\n ");\n  local_2c = param_2 + sVar3;\n  bVar2 = *local_2c;\n  bVar13 = bVar2 != 0;\n  if (bVar13) {\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }\n  bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;\n  bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;\n  iVar10 = 4;\n  pbVar11 = param_2;\n  pbVar12 = (byte *)0x30d9c4;\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  } while (bVar14);\n  if ((!bVar13 && !bVar14) == bVar13) {\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }\n  local_28 = 0;\n  local_34 = *(int **)(param_1 + 0x38);\n  puVar5 = (undefined4 *)*local_34;\n  if (puVar5 == (undefined4 *)0x0) {\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }\n  iVar7 = ResizeQuantumMemory();\n  *(int *)(param_1 + 0x38) = iVar7;\n  if (iVar7 == 0) {\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }\n  else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }\n  ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);\n  DestroyString();\n  CatchException();\n  DestroyExceptionInfo();\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_001c5670(int param_1,byte *param_2,int param_3)" (identifier "FUN_001c5670") (parameter_list "(int param_1,byte *param_2,int param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "byte *param_2" (type_identifier "byte") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  int iVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int iVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  bool bVar13;\n  bool bVar14;\n  byte bVar15;\n  undefined4 uVar16;\n  int *local_34;\n  byte *local_2c;\n  int local_28;\n  int local_20;\n  \n  bVar15 = 0;\n  param_2[param_3] = 0;\n  sVar3 = strcspn((char *)param_2,"\t\r\n ");\n  local_2c = param_2 + sVar3;\n  bVar2 = *local_2c;\n  bVar13 = bVar2 != 0;\n  if (bVar13) {\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }\n  bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;\n  bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;\n  iVar10 = 4;\n  pbVar11 = param_2;\n  pbVar12 = (byte *)0x30d9c4;\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  } while (bVar14);\n  if ((!bVar13 && !bVar14) == bVar13) {\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }\n  local_28 = 0;\n  local_34 = *(int **)(param_1 + 0x38);\n  puVar5 = (undefined4 *)*local_34;\n  if (puVar5 == (undefined4 *)0x0) {\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }\n  iVar7 = ResizeQuantumMemory();\n  *(int *)(param_1 + 0x38) = iVar7;\n  if (iVar7 == 0) {\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }\n  else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }\n  ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);\n  DestroyString();\n  CatchException();\n  DestroyExceptionInfo();\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "byte *pbVar11;" (type_identifier "byte") (pointer_declarator "*pbVar11" (* "*") (identifier "pbVar11")) (; ";")) (declaration "byte *pbVar12;" (type_identifier "byte") (pointer_declarator "*pbVar12" (* "*") (identifier "pbVar12")) (; ";")) (declaration "bool bVar13;" (primitive_type "bool") (identifier "bVar13") (; ";")) (declaration "bool bVar14;" (primitive_type "bool") (identifier "bVar14") (; ";")) (declaration "byte bVar15;" (type_identifier "byte") (identifier "bVar15") (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "int *local_34;" (primitive_type "int") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "byte *local_2c;" (type_identifier "byte") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (expression_statement "bVar15 = 0;" (assignment_expression "bVar15 = 0" (identifier "bVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[param_3] = 0;" (assignment_expression "param_2[param_3] = 0" (subscript_expression "param_2[param_3]" (identifier "param_2") ([ "[") (identifier "param_3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "sVar3 = strcspn((char *)param_2,"\t\r\n ");" (assignment_expression "sVar3 = strcspn((char *)param_2,"\t\r\n ")" (identifier "sVar3") (= "=") (call_expression "strcspn((char *)param_2,"\t\r\n ")" (identifier "strcspn") (argument_list "((char *)param_2,"\t\r\n ")" (( "(") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2")) (, ",") (string_literal ""\t\r\n "" (" """) (escape_sequence "\t") (escape_sequence "\r") (escape_sequence "\n") (string_content " ") (" """)) () ")")))) (; ";")) (expression_statement "local_2c = param_2 + sVar3;" (assignment_expression "local_2c = param_2 + sVar3" (identifier "local_2c") (= "=") (binary_expression "param_2 + sVar3" (identifier "param_2") (+ "+") (identifier "sVar3"))) (; ";")) (expression_statement "bVar2 = *local_2c;" (assignment_expression "bVar2 = *local_2c" (identifier "bVar2") (= "=") (pointer_expression "*local_2c" (* "*") (identifier "local_2c"))) (; ";")) (expression_statement "bVar13 = bVar2 != 0;" (assignment_expression "bVar13 = bVar2 != 0" (identifier "bVar13") (= "=") (binary_expression "bVar2 != 0" (identifier "bVar2") (!= "!=") (number_literal "0"))) (; ";")) (if_statement "if (bVar13) {\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }" (if "if") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (compound_statement "{\n    *local_2c = 0;\n    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");\n    local_2c = local_2c + sVar3 + 1;\n  }" ({ "{") (expression_statement "*local_2c = 0;" (assignment_expression "*local_2c = 0" (pointer_expression "*local_2c" (* "*") (identifier "local_2c")) (= "=") (number_literal "0")) (; ";")) (expression_statement "sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");" (assignment_expression "sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ")" (identifier "sVar3") (= "=") (call_expression "strspn((char *)(local_2c + 1),"\t\r\n ")" (identifier "strspn") (argument_list "((char *)(local_2c + 1),"\t\r\n ")" (( "(") (cast_expression "(char *)(local_2c + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_2c + 1)" (( "(") (binary_expression "local_2c + 1" (identifier "local_2c") (+ "+") (number_literal "1")) () ")"))) (, ",") (string_literal ""\t\r\n "" (" """) (escape_sequence "\t") (escape_sequence "\r") (escape_sequence "\n") (string_content " ") (" """)) () ")")))) (; ";")) (expression_statement "local_2c = local_2c + sVar3 + 1;" (assignment_expression "local_2c = local_2c + sVar3 + 1" (identifier "local_2c") (= "=") (binary_expression "local_2c + sVar3 + 1" (binary_expression "local_2c + sVar3" (identifier "local_2c") (+ "+") (identifier "sVar3")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;" (assignment_expression "bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4" (identifier "bVar13") (= "=") (binary_expression "bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4" (identifier "bVar13") (&& "&&") (binary_expression "(undefined1 *)0xffffffef < &stack0xffffffb4" (cast_expression "(undefined1 *)0xffffffef" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffef")) (< "<") (pointer_expression "&stack0xffffffb4" (& "&") (identifier "stack0xffffffb4"))))) (; ";")) (expression_statement "bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;" (assignment_expression "bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c" (identifier "bVar14") (= "=") (binary_expression "bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c" (binary_expression "bVar2 == 0" (identifier "bVar2") (== "==") (number_literal "0")) (|| "||") (binary_expression "&stack0x00000000 == (undefined1 *)0x3c" (pointer_expression "&stack0x00000000" (& "&") (identifier "stack0x00000000")) (== "==") (cast_expression "(undefined1 *)0x3c" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3c"))))) (; ";")) (expression_statement "iVar10 = 4;" (assignment_expression "iVar10 = 4" (identifier "iVar10") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar11 = param_2;" (assignment_expression "pbVar11 = param_2" (identifier "pbVar11") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar12 = (byte *)0x30d9c4;" (assignment_expression "pbVar12 = (byte *)0x30d9c4" (identifier "pbVar12") (= "=") (cast_expression "(byte *)0x30d9c4" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x30d9c4"))) (; ";")) (do_statement "do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  } while (bVar14);" (do "do") (compound_statement "{\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar13 = *pbVar11 < *pbVar12;\n    bVar14 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n  }" ({ "{") (if_statement "if (iVar10 == 0) break;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar13 = *pbVar11 < *pbVar12;" (assignment_expression "bVar13 = *pbVar11 < *pbVar12" (identifier "bVar13") (= "=") (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")) (< "<") (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")))) (; ";")) (expression_statement "bVar14 = *pbVar11 == *pbVar12;" (assignment_expression "bVar14 = *pbVar11 == *pbVar12" (identifier "bVar14") (= "=") (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")) (== "==") (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")))) (; ";")) (expression_statement "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1" (identifier "pbVar11") (= "=") (binary_expression "pbVar11 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar11 + (uint)bVar15 * -2" (identifier "pbVar11") (+ "+") (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar15")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar15 * -2" (identifier "pbVar12") (+ "+") (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar15")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar14)" (( "(") (identifier "bVar14") () ")")) (; ";")) (if_statement "if ((!bVar13 && !bVar14) == bVar13) {\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }" (if "if") (parenthesized_expression "((!bVar13 && !bVar14) == bVar13)" (( "(") (binary_expression "(!bVar13 && !bVar14) == bVar13" (parenthesized_expression "(!bVar13 && !bVar14)" (( "(") (binary_expression "!bVar13 && !bVar14" (unary_expression "!bVar13" (! "!") (identifier "bVar13")) (&& "&&") (unary_expression "!bVar14" (! "!") (identifier "bVar14"))) () ")")) (== "==") (identifier "bVar13")) () ")")) (compound_statement "{\n    pcVar4 = strstr((char *)local_2c,"standalone");\n    if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }\n    return;\n  }" ({ "{") (expression_statement "pcVar4 = strstr((char *)local_2c,"standalone");" (assignment_expression "pcVar4 = strstr((char *)local_2c,"standalone")" (identifier "pcVar4") (= "=") (call_expression "strstr((char *)local_2c,"standalone")" (identifier "strstr") (argument_list "((char *)local_2c,"standalone")" (( "(") (cast_expression "(char *)local_2c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_2c")) (, ",") (string_literal ""standalone"" (" """) (string_content "standalone") (" """)) () ")")))) (; ";")) (if_statement "if (pcVar4 != (char *)0x0) {\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }" (if "if") (parenthesized_expression "(pcVar4 != (char *)0x0)" (( "(") (binary_expression "pcVar4 != (char *)0x0" (identifier "pcVar4") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");\n      iVar10 = 3;\n      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;\n      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;\n      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);\n      pbVar12 = &DAT_002c8f03;\n      do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);\n      if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }\n    }" ({ "{") (expression_statement "sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");" (assignment_expression "sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"")" (identifier "sVar3") (= "=") (call_expression "strspn(pcVar4 + 10,"\t\r\n =\'\"")" (identifier "strspn") (argument_list "(pcVar4 + 10,"\t\r\n =\'\"")" (( "(") (binary_expression "pcVar4 + 10" (identifier "pcVar4") (+ "+") (number_literal "10")) (, ",") (string_literal ""\t\r\n =\'\""" (" """) (escape_sequence "\t") (escape_sequence "\r") (escape_sequence "\n") (string_content " =") (escape_sequence "\'") (escape_sequence "\"") (" """)) () ")")))) (; ";")) (expression_statement "iVar10 = 3;" (assignment_expression "iVar10 = 3" (identifier "iVar10") (= "=") (number_literal "3")) (; ";")) (expression_statement "bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;" (assignment_expression "bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4" (identifier "bVar13") (= "=") (binary_expression "(undefined1 *)0xffffffef < &stack0xffffffb4" (cast_expression "(undefined1 *)0xffffffef" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffef")) (< "<") (pointer_expression "&stack0xffffffb4" (& "&") (identifier "stack0xffffffb4")))) (; ";")) (expression_statement "bVar14 = &stack0x00000000 == (undefined1 *)0x3c;" (assignment_expression "bVar14 = &stack0x00000000 == (undefined1 *)0x3c" (identifier "bVar14") (= "=") (binary_expression "&stack0x00000000 == (undefined1 *)0x3c" (pointer_expression "&stack0x00000000" (& "&") (identifier "stack0x00000000")) (== "==") (cast_expression "(undefined1 *)0x3c" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3c")))) (; ";")) (expression_statement "pbVar11 = (byte *)(pcVar4 + sVar3 + 10);" (assignment_expression "pbVar11 = (byte *)(pcVar4 + sVar3 + 10)" (identifier "pbVar11") (= "=") (cast_expression "(byte *)(pcVar4 + sVar3 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + sVar3 + 10)" (( "(") (binary_expression "pcVar4 + sVar3 + 10" (binary_expression "pcVar4 + sVar3" (identifier "pcVar4") (+ "+") (identifier "sVar3")) (+ "+") (number_literal "10")) () ")")))) (; ";")) (expression_statement "pbVar12 = &DAT_002c8f03;" (assignment_expression "pbVar12 = &DAT_002c8f03" (identifier "pbVar12") (= "=") (pointer_expression "&DAT_002c8f03" (& "&") (identifier "DAT_002c8f03"))) (; ";")) (do_statement "do {\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      } while (bVar14);" (do "do") (compound_statement "{\n        if (iVar10 == 0) break;\n        iVar10 = iVar10 + -1;\n        bVar13 = *pbVar11 < *pbVar12;\n        bVar14 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar10 == 0) break;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar13 = *pbVar11 < *pbVar12;" (assignment_expression "bVar13 = *pbVar11 < *pbVar12" (identifier "bVar13") (= "=") (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")) (< "<") (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")))) (; ";")) (expression_statement "bVar14 = *pbVar11 == *pbVar12;" (assignment_expression "bVar14 = *pbVar11 == *pbVar12" (identifier "bVar14") (= "=") (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")) (== "==") (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")))) (; ";")) (expression_statement "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1" (identifier "pbVar11") (= "=") (binary_expression "pbVar11 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar11 + (uint)bVar15 * -2" (identifier "pbVar11") (+ "+") (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar15")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + (uint)bVar15 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar15 * -2" (identifier "pbVar12") (+ "+") (binary_expression "(uint)bVar15 * -2" (cast_expression "(uint)bVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar15")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar14)" (( "(") (identifier "bVar14") () ")")) (; ";")) (if_statement "if ((!bVar13 && !bVar14) == bVar13) {\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }" (if "if") (parenthesized_expression "((!bVar13 && !bVar14) == bVar13)" (( "(") (binary_expression "(!bVar13 && !bVar14) == bVar13" (parenthesized_expression "(!bVar13 && !bVar14)" (( "(") (binary_expression "!bVar13 && !bVar14" (unary_expression "!bVar13" (! "!") (identifier "bVar13")) (&& "&&") (unary_expression "!bVar14" (! "!") (identifier "bVar14"))) () ")")) (== "==") (identifier "bVar13")) () ")")) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x34) = 1;\n      }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x34) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x34) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = *(int **)(param_1 + 0x38);" (assignment_expression "local_34 = *(int **)(param_1 + 0x38)" (identifier "local_34") (= "=") (pointer_expression "*(int **)(param_1 + 0x38)" (* "*") (cast_expression "(int **)(param_1 + 0x38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar5 = (undefined4 *)*local_34;" (assignment_expression "puVar5 = (undefined4 *)*local_34" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)*local_34" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_34" (* "*") (identifier "local_34")))) (; ";")) (if_statement "if (puVar5 == (undefined4 *)0x0) {\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }\n  else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }" (if "if") (parenthesized_expression "(puVar5 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar5 == (undefined4 *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar10 = 0;\n    puVar5 = (undefined4 *)AcquireCriticalMemory();\n    *(undefined4 **)(param_1 + 0x38) = puVar5;\n    *puVar5 = 0;\n    local_28 = 0;\n  }" ({ "{") (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5 = (undefined4 *)AcquireCriticalMemory();" (assignment_expression "puVar5 = (undefined4 *)AcquireCriticalMemory()" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)AcquireCriticalMemory()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireCriticalMemory()" (identifier "AcquireCriticalMemory") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined4 **)(param_1 + 0x38) = puVar5;" (assignment_expression "*(undefined4 **)(param_1 + 0x38) = puVar5" (pointer_expression "*(undefined4 **)(param_1 + 0x38)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "puVar5")) (; ";")) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }" (else "else") (compound_statement "{\n    do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);\n  }" ({ "{") (do_statement "do {\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    } while (puVar5 != (undefined4 *)0x0);" (do "do") (compound_statement "{\n      iVar10 = local_28 * 4;\n      iVar7 = strcmp((char *)param_2,(char *)*puVar5);\n      if (iVar7 == 0) goto LAB_001c57b8;\n      local_28 = local_28 + 1;\n      iVar10 = iVar10 + 4;\n      puVar5 = (undefined4 *)local_34[local_28];\n    }" ({ "{") (expression_statement "iVar10 = local_28 * 4;" (assignment_expression "iVar10 = local_28 * 4" (identifier "iVar10") (= "=") (binary_expression "local_28 * 4" (identifier "local_28") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar7 = strcmp((char *)param_2,(char *)*puVar5);" (assignment_expression "iVar7 = strcmp((char *)param_2,(char *)*puVar5)" (identifier "iVar7") (= "=") (call_expression "strcmp((char *)param_2,(char *)*puVar5)" (identifier "strcmp") (argument_list "((char *)param_2,(char *)*puVar5)" (( "(") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2")) (, ",") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_001c57b8;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001c57b8;" (goto "goto") (statement_identifier "LAB_001c57b8") (; ";"))) (expression_statement "local_28 = local_28 + 1;" (assignment_expression "local_28 = local_28 + 1" (identifier "local_28") (= "=") (binary_expression "local_28 + 1" (identifier "local_28") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar10 = iVar10 + 4;" (assignment_expression "iVar10 = iVar10 + 4" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 4" (identifier "iVar10") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar5 = (undefined4 *)local_34[local_28];" (assignment_expression "puVar5 = (undefined4 *)local_34[local_28]" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)local_34[local_28]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_34[local_28]" (identifier "local_34") ([ "[") (identifier "local_28") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar5 != (undefined4 *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")))) (expression_statement "iVar7 = ResizeQuantumMemory();" (assignment_expression "iVar7 = ResizeQuantumMemory()" (identifier "iVar7") (= "=") (call_expression "ResizeQuantumMemory()" (identifier "ResizeQuantumMemory") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(param_1 + 0x38) = iVar7;" (assignment_expression "*(int *)(param_1 + 0x38) = iVar7" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (if_statement "if (iVar7 == 0) {\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }\n  else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar8 = AcquireExceptionInfo();\n    __errno_location();\n    GetExceptionMessage();\n    uVar16 = 0x67d;\n  }" ({ "{") (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" (identifier "uVar8") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "__errno_location();" (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" (identifier "GetExceptionMessage") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar16 = 0x67d;" (assignment_expression "uVar16 = 0x67d" (identifier "uVar16") (= "=") (number_literal "0x67d")) (; ";")) (} "}")) (else_clause "else {\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    uVar8 = AcquireQuantumMemory();\n    *(undefined4 *)(iVar7 + iVar10) = uVar8;\n    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n    if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }\n  }" ({ "{") (expression_statement "uVar8 = AcquireQuantumMemory();" (assignment_expression "uVar8 = AcquireQuantumMemory()" (identifier "uVar8") (= "=") (call_expression "AcquireQuantumMemory()" (identifier "AcquireQuantumMemory") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + iVar10) = uVar8;" (assignment_expression "*(undefined4 *)(iVar7 + iVar10) = uVar8" (pointer_expression "*(undefined4 *)(iVar7 + iVar10)" (* "*") (cast_expression "(undefined4 *)(iVar7 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + iVar10)" (( "(") (binary_expression "iVar7 + iVar10" (identifier "iVar7") (+ "+") (identifier "iVar10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10)" (identifier "piVar9") (= "=") (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (identifier "iVar10")) () ")")))) (; ";")) (if_statement "if (*piVar9 == 0) {\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }\n    else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }" (if "if") (parenthesized_expression "(*piVar9 == 0)" (( "(") (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar8 = AcquireExceptionInfo();\n      __errno_location();\n      GetExceptionMessage();\n      uVar16 = 0x681;\n    }" ({ "{") (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" (identifier "uVar8") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "__errno_location();" (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" (identifier "GetExceptionMessage") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar16 = 0x681;" (assignment_expression "uVar16 = 0x681" (identifier "uVar16") (= "=") (number_literal "0x681")) (; ";")) (} "}")) (else_clause "else {\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }" (else "else") (compound_statement "{\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;\n      puVar5 = (undefined4 *)*piVar9;\n      uVar8 = ConstantString();\n      *puVar5 = uVar8;\n      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));\n      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);\n      *(undefined4 *)(*piVar9 + 4) = *puVar5;\n      *puVar5 = 0;\n      iVar7 = *piVar9;\n      uVar8 = ConstantString();\n      *(undefined4 *)(iVar7 + 8) = uVar8;\n      local_34 = *(int **)(param_1 + 0x38);\nLAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);\n      if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }\n      iVar7 = ResizeQuantumMemory();\n      *(int *)((int)local_34 + iVar10) = iVar7;\n      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n      if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }\n    }" ({ "{") (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x38) + (local_28 + 1) * 4" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "(local_28 + 1) * 4" (parenthesized_expression "(local_28 + 1)" (( "(") (binary_expression "local_28 + 1" (identifier "local_28") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5 = (undefined4 *)*piVar9;" (assignment_expression "puVar5 = (undefined4 *)*piVar9" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)*piVar9" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (; ";")) (expression_statement "uVar8 = ConstantString();" (assignment_expression "uVar8 = ConstantString()" (identifier "uVar8") (= "=") (call_expression "ConstantString()" (identifier "ConstantString") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*puVar5 = uVar8;" (assignment_expression "*puVar5 = uVar8" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));" (assignment_expression "puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38))" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((local_28 + 1) * 4 + *(int *)(param_1 + 0x38))" (( "(") (binary_expression "(local_28 + 1) * 4 + *(int *)(param_1 + 0x38)" (binary_expression "(local_28 + 1) * 4" (parenthesized_expression "(local_28 + 1)" (( "(") (binary_expression "local_28 + 1" (identifier "local_28") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) () ")")))) (; ";")) (expression_statement "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10)" (identifier "piVar9") (= "=") (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (identifier "iVar10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*piVar9 + 4) = *puVar5;" (assignment_expression "*(undefined4 *)(*piVar9 + 4) = *puVar5" (pointer_expression "*(undefined4 *)(*piVar9 + 4)" (* "*") (cast_expression "(undefined4 *)(*piVar9 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + 4)" (( "(") (binary_expression "*piVar9 + 4" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))) (; ";")) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" (identifier "iVar7") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "uVar8 = ConstantString();" (assignment_expression "uVar8 = ConstantString()" (identifier "uVar8") (= "=") (call_expression "ConstantString()" (identifier "ConstantString") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 8) = uVar8;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = uVar8" (pointer_expression "*(undefined4 *)(iVar7 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "local_34 = *(int **)(param_1 + 0x38);" (assignment_expression "local_34 = *(int **)(param_1 + 0x38)" (identifier "local_34") (= "=") (pointer_expression "*(int **)(param_1 + 0x38)" (* "*") (cast_expression "(int **)(param_1 + 0x38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (labeled_statement "LAB_001c57b8:\n      iVar7 = *(int *)((int)local_34 + iVar10);" (statement_identifier "LAB_001c57b8") (: ":") (expression_statement "iVar7 = *(int *)((int)local_34 + iVar10);" (assignment_expression "iVar7 = *(int *)((int)local_34 + iVar10)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)((int)local_34 + iVar10)" (* "*") (cast_expression "(int *)((int)local_34 + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_34 + iVar10)" (( "(") (binary_expression "(int)local_34 + iVar10" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (+ "+") (identifier "iVar10")) () ")"))))) (; ";"))) (if_statement "if (*(int *)(iVar7 + 4) == 0) {\n        iVar6 = 1;\n        local_20 = 4;\n      }\n      else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar7 + 4) == 0)" (( "(") (binary_expression "*(int *)(iVar7 + 4) == 0" (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar6 = 1;\n        local_20 = 4;\n      }" ({ "{") (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" (identifier "iVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_20 = 4;" (assignment_expression "local_20 = 4" (identifier "local_20") (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }" (else "else") (compound_statement "{\n        iVar6 = 1;\n        do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);\n      }" ({ "{") (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" (identifier "iVar6") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        } while (*(int *)(iVar7 + iVar6 * 4) != 0);" (do "do") (compound_statement "{\n          iVar6 = iVar6 + 1;\n          local_20 = iVar6 * 4;\n        }" ({ "{") (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_20 = iVar6 * 4;" (assignment_expression "local_20 = iVar6 * 4" (identifier "local_20") (= "=") (binary_expression "iVar6 * 4" (identifier "iVar6") (* "*") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int *)(iVar7 + iVar6 * 4) != 0)" (( "(") (binary_expression "*(int *)(iVar7 + iVar6 * 4) != 0" (pointer_expression "*(int *)(iVar7 + iVar6 * 4)" (* "*") (cast_expression "(int *)(iVar7 + iVar6 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + iVar6 * 4)" (( "(") (binary_expression "iVar7 + iVar6 * 4" (identifier "iVar7") (+ "+") (binary_expression "iVar6 * 4" (identifier "iVar6") (* "*") (number_literal "4"))) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}")))) (expression_statement "iVar7 = ResizeQuantumMemory();" (assignment_expression "iVar7 = ResizeQuantumMemory()" (identifier "iVar7") (= "=") (call_expression "ResizeQuantumMemory()" (identifier "ResizeQuantumMemory") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)local_34 + iVar10) = iVar7;" (assignment_expression "*(int *)((int)local_34 + iVar10) = iVar7" (pointer_expression "*(int *)((int)local_34 + iVar10)" (* "*") (cast_expression "(int *)((int)local_34 + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_34 + iVar10)" (( "(") (binary_expression "(int)local_34 + iVar10" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (if_statement "if (iVar7 == 0) {\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }\n      else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x690;\n      }" ({ "{") (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" (identifier "uVar8") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "__errno_location();" (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" (identifier "GetExceptionMessage") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar16 = 0x690;" (assignment_expression "uVar16 = 0x690" (identifier "uVar16") (= "=") (number_literal "0x690")) (; ";")) (} "}")) (else_clause "else {\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }" (else "else") (compound_statement "{\n        iVar1 = (iVar6 + 1) * 4;\n        uVar8 = ResizeQuantumMemory();\n        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;\n        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }\n        uVar8 = AcquireExceptionInfo();\n        __errno_location();\n        GetExceptionMessage();\n        uVar16 = 0x695;\n      }" ({ "{") (expression_statement "iVar1 = (iVar6 + 1) * 4;" (assignment_expression "iVar1 = (iVar6 + 1) * 4" (identifier "iVar1") (= "=") (binary_expression "(iVar6 + 1) * 4" (parenthesized_expression "(iVar6 + 1)" (( "(") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) (; ";")) (expression_statement "uVar8 = ResizeQuantumMemory();" (assignment_expression "uVar8 = ResizeQuantumMemory()" (identifier "uVar8") (= "=") (call_expression "ResizeQuantumMemory()" (identifier "ResizeQuantumMemory") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;" (assignment_expression "*(undefined4 *)(iVar7 + 4 + iVar1) = uVar8" (pointer_expression "*(undefined4 *)(iVar7 + 4 + iVar1)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 4 + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4 + iVar1)" (( "(") (binary_expression "iVar7 + 4 + iVar1" (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) (+ "+") (identifier "iVar1")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (if_statement "if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0" (pointer_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1)" (* "*") (cast_expression "(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1" (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (identifier "iVar10")) () ")")))) (+ "+") (number_literal "4")) (+ "+") (identifier "iVar1")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          CopyMagickString();\n          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);\n          uVar8 = ConstantString();\n          *(undefined4 *)(local_20 + iVar7) = uVar8;\n          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;\n          return;\n        }" ({ "{") (expression_statement "CopyMagickString();" (call_expression "CopyMagickString()" (identifier "CopyMagickString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (expression_statement "uVar8 = ConstantString();" (assignment_expression "uVar8 = ConstantString()" (identifier "uVar8") (= "=") (call_expression "ConstantString()" (identifier "ConstantString") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(local_20 + iVar7) = uVar8;" (assignment_expression "*(undefined4 *)(local_20 + iVar7) = uVar8" (pointer_expression "*(undefined4 *)(local_20 + iVar7)" (* "*") (cast_expression "(undefined4 *)(local_20 + iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_20 + iVar7)" (( "(") (binary_expression "local_20 + iVar7" (identifier "local_20") (+ "+") (identifier "iVar7")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + iVar10)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x38) + iVar10)" (( "(") (binary_expression "*(int *)(param_1 + 0x38) + iVar10" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (identifier "iVar10")) () ")")))) (+ "+") (binary_expression "(iVar6 + 1) * 4" (parenthesized_expression "(iVar6 + 1)" (( "(") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar8 = AcquireExceptionInfo();" (assignment_expression "uVar8 = AcquireExceptionInfo()" (identifier "uVar8") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "__errno_location();" (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "GetExceptionMessage();" (call_expression "GetExceptionMessage()" (identifier "GetExceptionMessage") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar16 = 0x695;" (assignment_expression "uVar16 = 0x695" (identifier "uVar16") (= "=") (number_literal "0x695")) (; ";")) (} "}")))) (} "}")))) (} "}")))) (expression_statement "ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);" (call_expression "ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16)" (identifier "ThrowMagickException") (argument_list "(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16)" (( "(") (identifier "uVar8") (, ",") (string_literal ""MagickCore/xml-tree.c"" (" """) (string_content "MagickCore/xml-tree.c") (" """)) (, ",") (string_literal ""ParseProcessingInstructions"" (" """) (string_content "ParseProcessingInstructions") (" """)) (, ",") (identifier "uVar16") () ")"))) (; ";")) (expression_statement "DestroyString();" (call_expression "DestroyString()" (identifier "DestroyString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "CatchException();" (call_expression "CatchException()" (identifier "CatchException") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DestroyExceptionInfo();" (call_expression "DestroyExceptionInfo()" (identifier "DestroyExceptionInfo") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "MagickCoreTerminus();" (call_expression "MagickCoreTerminus()" (identifier "MagickCoreTerminus") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "_exit(1);" (call_expression "_exit(1)" (identifier "_exit") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

void __regparm3 function_1(type_1 *root,char *var_2,size_t length)

{
  int var_26;
  char var_4;
  type_2 *puVar3;
  size_t var_3;
  char *var_12;
  int var_15;
  char ***var_19;
  void *pvVar8;
  int *piVar9;
  type_3 *exception;
  int var_8;
  char **var_13;
  char *target;
  size_t sVar12;
  type_4 *var_9;
  int var_17;
  type_4 *var_10;
  bool var_7;
  bool bVar17;
  type_4 bVar18;
  char ***local_34;
  char *var_6;
  int var_24;
  int var_28;
  
  bVar18 = 0;
  var_2[length] = '\0';
  var_3 = var_1(var_2,"\t\r\n ");
  var_6 = var_2 + var_3;
  var_4 = *var_6;
  var_7 = var_4 != '\0';
  if (var_7) {
    *var_6 = '\0';
    var_3 = var_5(var_6 + 1,"\t\r\n ");
    var_6 = var_6 + var_3 + 1;
  }
  var_7 = var_7 && (type_5 *)0xffffffef < &stack0xffffffb4;
  bVar17 = var_4 == '\0' || &stack0x00000000 == (type_5 *)0x3c;
  var_8 = 4;
  var_9 = (type_4 *)var_2;
  var_10 = (type_4 *)0x30d9c4;
  do {
    if (var_8 == 0) break;
    var_8 = var_8 + -1;
    var_7 = *var_9 < *var_10;
    bVar17 = *var_9 == *var_10;
    var_9 = var_9 + (type_6)bVar18 * -2 + 1;
    var_10 = var_10 + (type_6)bVar18 * -2 + 1;
  } while (bVar17);
  if ((!var_7 && !bVar17) == var_7) {
    var_12 = var_11(var_6,"standalone");
    if (var_12 != (char *)0x0) {
      var_3 = var_5(var_12 + 10,"\t\r\n =\'\"");
      var_8 = 3;
      var_7 = (type_5 *)0xffffffef < &stack0xffffffb4;
      bVar17 = &stack0x00000000 == (type_5 *)0x3c;
      var_9 = (type_4 *)(var_12 + var_3 + 10);
      var_10 = &DAT_002c8f03;
      do {
        if (var_8 == 0) break;
        var_8 = var_8 + -1;
        var_7 = *var_9 < *var_10;
        bVar17 = *var_9 == *var_10;
        var_9 = var_9 + (type_6)bVar18 * -2 + 1;
        var_10 = var_10 + (type_6)bVar18 * -2 + 1;
      } while (bVar17);
      if ((!var_7 && !bVar17) == var_7) {
        root->standalone = MagickTrue;
      }
    }
    return;
  }
  local_34 = root->processing_instructions;
  var_13 = *local_34;
  var_24 = 0;
  if (var_13 == (char **)0x0) {
    var_8 = 0;
    local_34 = (char ***)var_14(4);
    root->processing_instructions = local_34;
    sVar12 = 2;
    *local_34 = (char **)0x0;
    var_24 = 0;
  }
  else {
    do {
      var_15 = var_24;
      var_8 = var_15 * 4;
      var_17 = var_16(var_2,*var_13);
      if (var_17 == 0) goto LAB_001c57b8;
      var_24 = var_15 + 1;
      var_8 = var_8 + 4;
      var_13 = local_34[var_24];
    } while (var_13 != (char **)0x0);
    sVar12 = var_15 + 3;
  }
  var_19 = (char ***)var_18(local_34,sVar12,4);
  root->processing_instructions = var_19;
  if (var_19 == (char ***)0x0) {
    exception = var_20();
    piVar9 = var_21();
    var_12 = var_22(*piVar9);
    sVar12 = 0x67d;
  }
  else {
    pvVar8 = var_23(3,4);
    *(void **)((int)var_19 + var_8) = pvVar8;
    piVar9 = (int *)((int)root->processing_instructions + var_8);
    if (*piVar9 == 0) {
      exception = var_20();
      piVar9 = var_21();
      var_12 = var_22(*piVar9);
      sVar12 = 0x681;
    }
    else {
      root->processing_instructions[var_24 + 1] = (char **)0x0;
      puVar3 = (type_2 *)*piVar9;
      var_12 = var_25(var_2);
      *puVar3 = var_12;
      var_19 = root->processing_instructions + var_24 + 1;
      piVar9 = (int *)((int)root->processing_instructions + var_8);
      *(char ***)(*piVar9 + 4) = *var_19;
      *var_19 = (char **)0x0;
      var_17 = *piVar9;
      var_12 = var_25("");
      *(char **)(var_17 + 8) = var_12;
      local_34 = root->processing_instructions;
LAB_001c57b8:
      pvVar8 = *(void **)((int)local_34 + var_8);
      if (*(int *)((int)pvVar8 + 4) == 0) {
        sVar12 = 4;
        var_17 = 1;
        var_28 = 4;
      }
      else {
        var_17 = 1;
        do {
          var_15 = var_17;
          var_17 = var_15 + 1;
          var_28 = var_17 * 4;
        } while (*(int *)((int)pvVar8 + var_17 * 4) != 0);
        sVar12 = var_15 + 4;
      }
      pvVar8 = var_18(pvVar8,sVar12,4);
      *(void **)((int)local_34 + var_8) = pvVar8;
      var_15 = *(int *)((int)root->processing_instructions + var_8);
      if (var_15 == 0) {
        exception = var_20();
        piVar9 = var_21();
        var_12 = var_22(*piVar9);
        sVar12 = 0x690;
      }
      else {
        var_26 = var_17 + 1;
        pvVar8 = var_18(*(void **)(var_15 + var_26 * 4),var_17 + 1,1);
        *(void **)(var_15 + 4 + var_26 * 4) = pvVar8;
        var_15 = *(int *)(*(int *)((int)root->processing_instructions + var_8) + 4 + var_26 * 4);
        if (var_15 != 0) {
          var_12 = "<";
          if ((root->root).tag != (char *)0x0) {
            var_12 = ">";
          }
          var_27((char *)(var_15 + -1 + var_17),var_12,2);
          var_17 = *(int *)((int)root->processing_instructions + var_8);
          var_12 = var_25(var_6);
          *(char **)(var_28 + var_17) = var_12;
          *(type_2 *)(*(int *)((int)root->processing_instructions + var_8) + var_26 * 4) = 0;
          return;
        }
        exception = var_20();
        piVar9 = var_21();
        var_12 = var_22(*piVar9);
        sVar12 = 0x695;
      }
    }
  }
  var_29
            (exception,"MagickCore/xml-tree.c","ParseProcessingInstructions",sVar12,
             FatalErrorException,"MemoryAllocationFailed","`%s\'");
  var_30(var_12);
  var_31(exception);
  var_32(exception);
  var_33();
                    /* WARNING: Subroutine does not return */
  var_34(1);
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (string_literal (escape_sequence) (escape_sequence) (escape_sequence) (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (string_literal (escape_sequence) (escape_sequence) (escape_sequence) (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (string_literal (escape_sequence) (escape_sequence) (escape_sequence) (string_content) (escape_sequence) (escape_sequence)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (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: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) 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: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) right: (number_literal)) right: (identifier))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (string_literal (string_content)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 MASKED(int param_1,byte *param_2,int param_3)

{
  int iVar1;
  byte bVar2;
  size_t sVar3;
  char *pcVar4;
  undefined4 *puVar5;
  int iVar6;
  int iVar7;
  undefined4 uVar8;
  int *piVar9;
  int iVar10;
  byte *pbVar11;
  byte *pbVar12;
  bool bVar13;
  bool bVar14;
  byte bVar15;
  undefined4 uVar16;
  int *local_34;
  byte *local_2c;
  int local_28;
  int local_20;
  
  bVar15 = 0;
  param_2[param_3] = 0;
  sVar3 = strcspn((char *)param_2,"\t\r\n ");
  local_2c = param_2 + sVar3;
  bVar2 = *local_2c;
  bVar13 = bVar2 != 0;
  if (bVar13) {
    *local_2c = 0;
    sVar3 = strspn((char *)(local_2c + 1),"\t\r\n ");
    local_2c = local_2c + sVar3 + 1;
  }
  bVar13 = bVar13 && (undefined1 *)0xffffffef < &stack0xffffffb4;
  bVar14 = bVar2 == 0 || &stack0x00000000 == (undefined1 *)0x3c;
  iVar10 = 4;
  pbVar11 = param_2;
  pbVar12 = (byte *)0x30d9c4;
  do {
    if (iVar10 == 0) break;
    iVar10 = iVar10 + -1;
    bVar13 = *pbVar11 < *pbVar12;
    bVar14 = *pbVar11 == *pbVar12;
    pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;
    pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;
  } while (bVar14);
  if ((!bVar13 && !bVar14) == bVar13) {
    pcVar4 = strstr((char *)local_2c,"standalone");
    if (pcVar4 != (char *)0x0) {
      sVar3 = strspn(pcVar4 + 10,"\t\r\n =\'\"");
      iVar10 = 3;
      bVar13 = (undefined1 *)0xffffffef < &stack0xffffffb4;
      bVar14 = &stack0x00000000 == (undefined1 *)0x3c;
      pbVar11 = (byte *)(pcVar4 + sVar3 + 10);
      pbVar12 = &DAT_002c8f03;
      do {
        if (iVar10 == 0) break;
        iVar10 = iVar10 + -1;
        bVar13 = *pbVar11 < *pbVar12;
        bVar14 = *pbVar11 == *pbVar12;
        pbVar11 = pbVar11 + (uint)bVar15 * -2 + 1;
        pbVar12 = pbVar12 + (uint)bVar15 * -2 + 1;
      } while (bVar14);
      if ((!bVar13 && !bVar14) == bVar13) {
        *(undefined4 *)(param_1 + 0x34) = 1;
      }
    }
    return;
  }
  local_28 = 0;
  local_34 = *(int **)(param_1 + 0x38);
  puVar5 = (undefined4 *)*local_34;
  if (puVar5 == (undefined4 *)0x0) {
    iVar10 = 0;
    puVar5 = (undefined4 *)AcquireCriticalMemory();
    *(undefined4 **)(param_1 + 0x38) = puVar5;
    *puVar5 = 0;
    local_28 = 0;
  }
  else {
    do {
      iVar10 = local_28 * 4;
      iVar7 = strcmp((char *)param_2,(char *)*puVar5);
      if (iVar7 == 0) goto LAB_001c57b8;
      local_28 = local_28 + 1;
      iVar10 = iVar10 + 4;
      puVar5 = (undefined4 *)local_34[local_28];
    } while (puVar5 != (undefined4 *)0x0);
  }
  iVar7 = ResizeQuantumMemory();
  *(int *)(param_1 + 0x38) = iVar7;
  if (iVar7 == 0) {
    uVar8 = AcquireExceptionInfo();
    __errno_location();
    GetExceptionMessage();
    uVar16 = 0x67d;
  }
  else {
    uVar8 = AcquireQuantumMemory();
    *(undefined4 *)(iVar7 + iVar10) = uVar8;
    piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);
    if (*piVar9 == 0) {
      uVar8 = AcquireExceptionInfo();
      __errno_location();
      GetExceptionMessage();
      uVar16 = 0x681;
    }
    else {
      *(undefined4 *)(*(int *)(param_1 + 0x38) + (local_28 + 1) * 4) = 0;
      puVar5 = (undefined4 *)*piVar9;
      uVar8 = ConstantString();
      *puVar5 = uVar8;
      puVar5 = (undefined4 *)((local_28 + 1) * 4 + *(int *)(param_1 + 0x38));
      piVar9 = (int *)(*(int *)(param_1 + 0x38) + iVar10);
      *(undefined4 *)(*piVar9 + 4) = *puVar5;
      *puVar5 = 0;
      iVar7 = *piVar9;
      uVar8 = ConstantString();
      *(undefined4 *)(iVar7 + 8) = uVar8;
      local_34 = *(int **)(param_1 + 0x38);
LAB_001c57b8:
      iVar7 = *(int *)((int)local_34 + iVar10);
      if (*(int *)(iVar7 + 4) == 0) {
        iVar6 = 1;
        local_20 = 4;
      }
      else {
        iVar6 = 1;
        do {
          iVar6 = iVar6 + 1;
          local_20 = iVar6 * 4;
        } while (*(int *)(iVar7 + iVar6 * 4) != 0);
      }
      iVar7 = ResizeQuantumMemory();
      *(int *)((int)local_34 + iVar10) = iVar7;
      iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);
      if (iVar7 == 0) {
        uVar8 = AcquireExceptionInfo();
        __errno_location();
        GetExceptionMessage();
        uVar16 = 0x690;
      }
      else {
        iVar1 = (iVar6 + 1) * 4;
        uVar8 = ResizeQuantumMemory();
        *(undefined4 *)(iVar7 + 4 + iVar1) = uVar8;
        if (*(int *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + 4 + iVar1) != 0) {
          CopyMagickString();
          iVar7 = *(int *)(*(int *)(param_1 + 0x38) + iVar10);
          uVar8 = ConstantString();
          *(undefined4 *)(local_20 + iVar7) = uVar8;
          *(undefined4 *)(*(int *)(*(int *)(param_1 + 0x38) + iVar10) + (iVar6 + 1) * 4) = 0;
          return;
        }
        uVar8 = AcquireExceptionInfo();
        __errno_location();
        GetExceptionMessage();
        uVar16 = 0x695;
      }
    }
  }
  ThrowMagickException(uVar8,"MagickCore/xml-tree.c","ParseProcessingInstructions",uVar16);
  DestroyString();
  CatchException();
  DestroyExceptionInfo();
  MagickCoreTerminus();
                    /* WARNING: Subroutine does not return */
  _exit(1);
}

