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

MagickBooleanType __regparm3
RenderType(Image *image,DrawInfo *draw_info,PointInfo *offset,TypeMetric *metrics,
          ExceptionInfo *exception)

{
  char cVar1;
  MagickBooleanType MVar2;
  TypeInfo *pTVar3;
  DrawInfo *draw_info_00;
  char *pcVar4;
  char **memory;
  int iVar5;
  char *pcVar6;
  int iVar7;
  int in_GS_OFFSET;
  ExceptionInfo *in_stack_ffffffac;
  int number_families;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x3974b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  pcVar6 = draw_info->font;
  if (pcVar6 == (char *)0x0) {
    pcVar6 = draw_info->family;
    if (pcVar6 == (char *)0x0) {
LAB_00039990:
      pTVar3 = GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,
                                   exception);
      if ((((pTVar3 == (TypeInfo *)0x0) &&
           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,
                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))
          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,
                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))
         && (((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,
                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0
              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,
                                               draw_info->weight,exception),
                 pTVar3 == (TypeInfo *)0x0)) &&
             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)))) goto LAB_00039a93;
    }
    else {
LAB_0003985e:
      pcVar4 = strchr(pcVar6,0x2c);
      if ((pcVar4 != (char *)0x0) ||
         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,
                                       exception), pTVar3 == (TypeInfo *)0x0)) {
        memory = StringToArgv(draw_info->family,&number_families);
        iVar7 = 1;
        if (number_families < 2) {
          pTVar3 = (TypeInfo *)0x0;
          if (number_families == 1) goto LAB_00039901;
          RelinquishMagickMemory(memory);
        }
        else {
          do {
            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,
                                         draw_info->weight,exception);
            if ((pTVar3 != (TypeInfo *)0x0) &&
               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {
              if (0 < number_families) goto LAB_00039901;
              RelinquishMagickMemory(memory);
              goto LAB_000397d0;
            }
            iVar7 = iVar7 + 1;
          } while (iVar7 < number_families);
          if (0 < number_families) {
LAB_00039901:
            iVar7 = 0;
            do {
              pcVar6 = DestroyString(memory[iVar7]);
              memory[iVar7] = pcVar6;
              iVar7 = iVar7 + 1;
            } while (iVar7 < number_families);
          }
          RelinquishMagickMemory(memory);
          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;
        }
        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;
        ThrowMagickException
                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,
                   "UnableToReadFont","`%s\'",draw_info->family);
        goto LAB_00039990;
      }
    }
LAB_000397d0:
    draw_info_00 = CloneDrawInfo((ImageInfo *)0x0,draw_info);
    draw_info_00->face = pTVar3->face;
    if (pTVar3->metrics != (char *)0x0) {
      CloneString(&draw_info_00->metrics,pTVar3->metrics);
    }
    if (pTVar3->glyphs != (char *)0x0) {
      CloneString(&draw_info_00->font,pTVar3->glyphs);
    }
    MVar2 = RenderFreetype(image,draw_info_00,(char *)offset,&metrics->pixels_per_em,
                           (TypeMetric *)exception,in_stack_ffffffac);
    DestroyDrawInfo(draw_info_00);
  }
  else {
    cVar1 = *pcVar6;
    if (cVar1 != '@') {
      if (cVar1 == '-') {
        if (annotate_semaphore == (SemaphoreInfo *)0x0) {
          ActivateSemaphoreInfo(&annotate_semaphore);
        }
        LockSemaphoreInfo(annotate_semaphore);
        MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);
        UnlockSemaphoreInfo(annotate_semaphore);
        goto LAB_00039aaf;
      }
      if (cVar1 == '^') {
        MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);
        goto LAB_00039aaf;
      }
      MVar2 = IsPathAccessible(pcVar6);
      if (MVar2 == MagickFalse) {
        pTVar3 = GetTypeInfo(draw_info->font,exception);
        if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;
        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;
        ThrowMagickException
                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,
                   "UnableToReadFont","`%s\'",draw_info->font);
        pcVar6 = draw_info->family;
        if (pcVar6 != (char *)0x0) goto LAB_0003985e;
        goto LAB_00039990;
      }
    }
LAB_00039a93:
    MVar2 = RenderFreetype(image,draw_info,(char *)offset,&metrics->pixels_per_em,
                           (TypeMetric *)exception,in_stack_ffffffac);
  }
LAB_00039aaf:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return MVar2;
}



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

undefined4 __regparm3
FUN_00039740(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5
            )

{
  char cVar1;
  int iVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  char *pcVar5;
  int iVar6;
  char *pcVar7;
  int iVar8;
  int in_GS_OFFSET;
  int local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x3974b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  pcVar7 = *(char **)(param_2 + 0x23c);
  if (pcVar7 == (char *)0x0) {
    pcVar7 = *(char **)(param_2 + 0x244);
    if (pcVar7 == (char *)0x0) {
LAB_00039990:
      puVar3 = (undefined4 *)
               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),
                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)
                                   ,param_5);
      if ((((puVar3 == (undefined4 *)0x0) &&
           (puVar3 = (undefined4 *)
                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),
                                         *(undefined4 *)(param_2 + 0x250),
                                         *(undefined4 *)(param_2 + 0x254),param_5),
           puVar3 == (undefined4 *)0x0)) &&
          (puVar3 = (undefined4 *)
                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),
                                        *(undefined4 *)(param_2 + 0x250),
                                        *(undefined4 *)(param_2 + 0x254),param_5),
          puVar3 == (undefined4 *)0x0)) &&
         (((puVar3 = (undefined4 *)
                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),
                                         *(undefined4 *)(param_2 + 0x250),
                                         *(undefined4 *)(param_2 + 0x254),param_5),
           puVar3 == (undefined4 *)0x0 &&
           (puVar3 = (undefined4 *)
                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),
                                         *(undefined4 *)(param_2 + 0x250),
                                         *(undefined4 *)(param_2 + 0x254),param_5),
           puVar3 == (undefined4 *)0x0)) &&
          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))
         ) goto LAB_00039a93;
    }
    else {
LAB_0003985e:
      pcVar5 = strchr(pcVar7,0x2c);
      if ((pcVar5 != (char *)0x0) ||
         (puVar3 = (undefined4 *)
                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),
                                       *(undefined4 *)(param_2 + 0x250),
                                       *(undefined4 *)(param_2 + 0x254),param_5),
         puVar3 == (undefined4 *)0x0)) {
        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);
        iVar8 = 1;
        if (local_24 < 2) {
          puVar3 = (undefined4 *)0x0;
          if (local_24 == 1) goto LAB_00039901;
          RelinquishMagickMemory(iVar2);
        }
        else {
          do {
            puVar3 = (undefined4 *)
                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),
                                         *(undefined4 *)(param_2 + 0x24c),
                                         *(undefined4 *)(param_2 + 0x250),
                                         *(undefined4 *)(param_2 + 0x254),param_5);
            if ((puVar3 != (undefined4 *)0x0) &&
               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {
              if (0 < local_24) goto LAB_00039901;
              RelinquishMagickMemory(iVar2);
              goto LAB_000397d0;
            }
            iVar8 = iVar8 + 1;
          } while (iVar8 < local_24);
          if (0 < local_24) {
LAB_00039901:
            iVar8 = 0;
            do {
              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));
              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;
              iVar8 = iVar8 + 1;
            } while (iVar8 < local_24);
          }
          RelinquishMagickMemory(iVar2);
          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;
        }
        ThrowMagickException
                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",
                   "`%s\'",*(undefined4 *)(param_2 + 0x244));
        goto LAB_00039990;
      }
    }
LAB_000397d0:
    iVar2 = CloneDrawInfo(0,param_2);
    *(undefined4 *)(iVar2 + 0x248) = *puVar3;
    if (puVar3[0xb] != 0) {
      CloneString(iVar2 + 0x240,puVar3[0xb]);
    }
    if (puVar3[0xc] != 0) {
      CloneString(iVar2 + 0x23c,puVar3[0xc]);
    }
    uVar4 = FUN_000396c0(param_4,param_5);
    DestroyDrawInfo(iVar2);
  }
  else {
    cVar1 = *pcVar7;
    if (cVar1 != '@') {
      if (cVar1 == '-') {
        if (DAT_003dc664 == 0) {
          ActivateSemaphoreInfo(&DAT_003dc664);
        }
        LockSemaphoreInfo(DAT_003dc664);
        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);
        UnlockSemaphoreInfo(DAT_003dc664);
        goto LAB_00039aaf;
      }
      if (cVar1 == '^') {
        uVar4 = FUN_00038a60(param_4,param_5);
        goto LAB_00039aaf;
      }
      iVar2 = IsPathAccessible(pcVar7);
      if (iVar2 == 0) {
        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);
        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;
        ThrowMagickException
                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",
                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));
        pcVar7 = *(char **)(param_2 + 0x244);
        if (pcVar7 != (char *)0x0) goto LAB_0003985e;
        goto LAB_00039990;
      }
    }
LAB_00039a93:
    uVar4 = FUN_000396c0(param_4,param_5);
  }
LAB_00039aaf:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return uVar4;
}


PUSH EBP
PUSH EDI
PUSH ESI
MOV ESI,EDX
PUSH EBX
CALL 0x00038830
ADD EBX,0x39f8b5
SUB ESP,0x3c
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0xc],ECX
MOV EDI,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x2c],EAX
XOR EAX,EAX
MOV EAX,dword ptr [EDX + 0x23c]
TEST EAX,EAX
JZ 0x00039850
MOVZX EDX,byte ptr [EAX]
CMP DL,0x40
JZ 0x00039a93
CMP DL,0x2d
JZ 0x00039ad0
CMP DL,0x5e
JZ 0x00039b18
SUB ESP,0xc
PUSH EAX
CALL 0x000339e0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00039a93
SUB ESP,0x8
PUSH EDI
PUSH dword ptr [ESI + 0x23c]
CALL 0x00031200
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x00039b40
SUB ESP,0x8
PUSH ESI
PUSH 0x0
CALL 0x00032340
ADD ESP,0x10
MOV ESI,EAX
MOV EAX,dword ptr [EBP]
MOV dword ptr [ESI + 0x248],EAX
MOV EAX,dword ptr [EBP + 0x2c]
TEST EAX,EAX
JZ 0x00039803
SUB ESP,0x8
PUSH EAX
LEA EAX,[ESI + 0x240]
PUSH EAX
CALL 0x00031990
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x30]
TEST EAX,EAX
JZ 0x0003981d
SUB ESP,0x8
PUSH EAX
LEA EAX,[ESI + 0x23c]
PUSH EAX
CALL 0x00031990
ADD ESP,0x10
SUB ESP,0x8
MOV EDX,ESI
PUSH EDI
PUSH dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [ESP + 0x18]
CALL 0x000396c0
MOV dword ptr [ESP],ESI
MOV EDI,EAX
CALL 0x00032b50
ADD ESP,0x10
JMP 0x00039aaf
MOV EBP,dword ptr [EDX + 0x244]
TEST EBP,EBP
JZ 0x00039990
SUB ESP,0x8
PUSH 0x2c
PUSH EBP
CALL 0x00030de0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00039bb0
SUB ESP,0x8
LEA EAX,[ESP + 0x30]
PUSH EAX
PUSH dword ptr [ESI + 0x244]
CALL 0x00032300
MOV ECX,0x1
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
MOV EBP,ECX
CMP dword ptr [ESP + 0x28],0x1
JLE 0x00039b90
SUB ESP,0xc
PUSH EDI
PUSH dword ptr [ESI + 0x254]
PUSH dword ptr [ESI + 0x250]
PUSH dword ptr [ESI + 0x24c]
MOV EAX,dword ptr [ESP + 0x30]
PUSH dword ptr [EAX + EBP*0x4]
CALL 0x00030a40
ADD ESP,0x20
MOV ECX,EAX
TEST EAX,EAX
JZ 0x000398f0
SUB ESP,0x8
PUSH dword ptr [EAX + 0x10]
MOV dword ptr [ESP + 0x24],EAX
MOV EAX,dword ptr [ESP + 0x20]
PUSH dword ptr [EAX + EBP*0x4]
CALL 0x000326f0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JZ 0x00039c00
MOV EAX,dword ptr [ESP + 0x28]
ADD EBP,0x1
CMP EAX,EBP
JG 0x000398a0
TEST EAX,EAX
MOV EBP,ECX
JLE 0x0003993c
MOV dword ptr [ESP + 0x18],EBP
MOV EBP,dword ptr [ESP + 0x14]
XOR ECX,ECX
MOV dword ptr [ESP + 0x1c],ESI
MOV ESI,ECX
LEA ESI,[ESI]
SUB ESP,0xc
PUSH dword ptr [EBP + ESI*0x4]
CALL 0x00032950
ADD ESP,0x10
MOV dword ptr [EBP + ESI*0x4],EAX
ADD ESI,0x1
CMP dword ptr [ESP + 0x28],ESI
JG 0x00039918
MOV EBP,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x1c]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JNZ 0x000397d0
PUSH dword ptr [ESI + 0x244]
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec5cbd]
PUSH EAX
LEA EAX,[EBX + 0xffec6084]
PUSH 0x131
PUSH 0x3e8
PUSH EAX
LEA EAX,[EBX + 0xffec5bb5]
PUSH EAX
PUSH EDI
CALL 0x00032e80
ADD ESP,0x20
NOP
LEA ESI,[ESI]
LEA EAX,[EBX + 0xffec5cce]
SUB ESP,0xc
PUSH EDI
PUSH dword ptr [ESI + 0x254]
PUSH dword ptr [ESI + 0x250]
PUSH dword ptr [ESI + 0x24c]
PUSH EAX
CALL 0x00030a40
ADD ESP,0x20
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x000397d0
LEA EAX,[EBX + 0xffec5cd4]
SUB ESP,0xc
PUSH EDI
PUSH dword ptr [ESI + 0x254]
PUSH dword ptr [ESI + 0x250]
PUSH dword ptr [ESI + 0x24c]
PUSH EAX
CALL 0x00030a40
ADD ESP,0x20
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x000397d0
LEA EAX,[EBX + 0xffec5cde]
SUB ESP,0xc
PUSH EDI
PUSH dword ptr [ESI + 0x254]
PUSH dword ptr [ESI + 0x250]
PUSH dword ptr [ESI + 0x24c]
PUSH EAX
CALL 0x00030a40
ADD ESP,0x20
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x000397d0
LEA EAX,[EBX + 0xffec5cf1]
SUB ESP,0xc
PUSH EDI
PUSH dword ptr [ESI + 0x254]
PUSH dword ptr [ESI + 0x250]
PUSH dword ptr [ESI + 0x24c]
PUSH EAX
CALL 0x00030a40
ADD ESP,0x20
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x000397d0
SUB ESP,0xc
PUSH EDI
PUSH dword ptr [ESI + 0x254]
PUSH dword ptr [ESI + 0x250]
PUSH dword ptr [ESI + 0x24c]
PUSH 0x0
CALL 0x00030a40
ADD ESP,0x20
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x000397d0
LEA EAX,[EBX + 0xffee06d5]
SUB ESP,0x8
PUSH EDI
PUSH EAX
CALL 0x00031200
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x000397d0
SUB ESP,0x8
MOV EDX,ESI
PUSH EDI
PUSH dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [ESP + 0x18]
CALL 0x000396c0
ADD ESP,0x10
MOV EDI,EAX
MOV ECX,dword ptr [ESP + 0x2c]
XOR ECX,dword ptr GS:[0x14]
MOV EAX,EDI
JNZ 0x00039c22
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBX + 0x3664]
TEST EAX,EAX
JZ 0x00039be0
SUB ESP,0xc
PUSH EAX
CALL 0x00031050
MOV dword ptr [ESP],EDI
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x20]
PUSH ESI
PUSH dword ptr [ESP + 0x24]
CALL 0x001ca340
ADD ESP,0x14
PUSH dword ptr [EBX + 0x3664]
MOV EDI,EAX
CALL 0x00031da0
ADD ESP,0x10
JMP 0x00039aaf
SUB ESP,0x8
MOV EDX,ESI
PUSH EDI
PUSH dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [ESP + 0x18]
CALL 0x00038a60
ADD ESP,0x10
MOV EDI,EAX
JMP 0x00039aaf
PUSH dword ptr [ESI + 0x23c]
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec5cbd]
PUSH EAX
LEA EAX,[EBX + 0xffec6084]
PUSH 0x131
PUSH 0x3c4
PUSH EAX
LEA EAX,[EBX + 0xffec5bb5]
PUSH EAX
PUSH EDI
CALL 0x00032e80
MOV EBP,dword ptr [ESI + 0x244]
ADD ESP,0x20
TEST EBP,EBP
JNZ 0x0003985e
JMP 0x00039990
MOV EBP,0x0
JZ 0x00039901
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x00033ac8
ADD ESP,0x10
JMP 0x00039953
SUB ESP,0xc
PUSH EDI
PUSH dword ptr [ESI + 0x254]
PUSH dword ptr [ESI + 0x250]
PUSH dword ptr [ESI + 0x24c]
PUSH EBP
CALL 0x00030a40
ADD ESP,0x20
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x000397d0
JMP 0x00039874
LEA EAX,[EBX + 0x3664]
SUB ESP,0xc
PUSH EAX
CALL 0x00031830
MOV EAX,dword ptr [EBX + 0x3664]
ADD ESP,0x10
JMP 0x00039ade
MOV EAX,dword ptr [ESP + 0x28]
MOV EBP,ECX
TEST EAX,EAX
JG 0x00039901
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x00033ac8
ADD ESP,0x10
JMP 0x000397d0
CALL 0x0029eab0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 __regparm3\nFUN_00039740(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5\n            )\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x3974b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar7 = *(char **)(param_2 + 0x23c);\n  if (pcVar7 == (char *)0x0) {\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }\n  else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }\nLAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar4;\n}\n\n" comment (function_definition "undefined4 __regparm3\nFUN_00039740(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5\n            )\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x3974b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar7 = *(char **)(param_2 + 0x23c);\n  if (pcVar7 == (char *)0x0) {\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }\n  else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }\nLAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar4;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00039740(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5\n            )" identifier (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5\n            )" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x3974b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar7 = *(char **)(param_2 + 0x23c);\n  if (pcVar7 == (char *)0x0) {\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }\n  else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }\nLAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar4;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x3974b;" (assignment_expression "uStack_14 = 0x3974b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcVar7 = *(char **)(param_2 + 0x23c);" (assignment_expression "pcVar7 = *(char **)(param_2 + 0x23c)" identifier = (pointer_expression "*(char **)(param_2 + 0x23c)" * (cast_expression "(char **)(param_2 + 0x23c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x23c)" ( (binary_expression "param_2 + 0x23c" identifier + number_literal) ))))) ;) (if_statement "if (pcVar7 == (char *)0x0) {\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }\n  else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }" { (expression_statement "pcVar7 = *(char **)(param_2 + 0x244);" (assignment_expression "pcVar7 = *(char **)(param_2 + 0x244)" identifier = (pointer_expression "*(char **)(param_2 + 0x244)" * (cast_expression "(char **)(param_2 + 0x244)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x244)" ( (binary_expression "param_2 + 0x244" identifier + number_literal) ))))) ;) (if_statement "if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }" { (labeled_statement "LAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);" statement_identifier : (expression_statement "puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);" (assignment_expression "puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" identifier = (cast_expression "(undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" identifier (argument_list "("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" ( (string_literal ""Arial"" " string_content ") , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) ;)) (if_statement "if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;" if (parenthesized_expression "((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         )" ( (binary_expression "(((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))" (parenthesized_expression "(((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0))" ( (binary_expression "((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)" (parenthesized_expression "((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0))" ( (binary_expression "(puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" (parenthesized_expression "(puVar3 == (undefined4 *)0x0)" ( (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" ( (comma_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (string_literal ""Helvetica"" " string_content ") , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)" ( (comma_expression "puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" ( (string_literal ""Century Schoolbook"" " string_content ") , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))" ( (parenthesized_expression "((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0))" ( (binary_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)" (parenthesized_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0))" ( (comma_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (pointer_expression "&DAT_0029ecf1" & identifier) , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" ( (comma_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( number_literal , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) && (parenthesized_expression "(puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)" ( (comma_expression "puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5)" identifier = (cast_expression "(undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfo(&DAT_002b96d5,param_5)" identifier (argument_list "(&DAT_002b96d5,param_5)" ( (pointer_expression "&DAT_002b96d5" & identifier) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (goto_statement "goto LAB_00039a93;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }" else (compound_statement "{\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }" { (labeled_statement "LAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);" statement_identifier : (expression_statement "pcVar5 = strchr(pcVar7,0x2c);" (assignment_expression "pcVar5 = strchr(pcVar7,0x2c)" identifier = (call_expression "strchr(pcVar7,0x2c)" identifier (argument_list "(pcVar7,0x2c)" ( identifier , number_literal )))) ;)) (if_statement "if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }" if (parenthesized_expression "((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0))" ( (binary_expression "(pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)" (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)) )) || (parenthesized_expression "(puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)" ( (comma_expression "puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }" { (expression_statement "iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);" (assignment_expression "iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24)" identifier = (call_expression "StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x244),&local_24)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x244)" * (cast_expression "(undefined4 *)(param_2 + 0x244)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x244)" ( (binary_expression "param_2 + 0x244" identifier + number_literal) )))) , (pointer_expression "&local_24" & identifier) )))) ;) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (if_statement "if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }" if (parenthesized_expression "(local_24 < 2)" ( (binary_expression "local_24 < 2" identifier < number_literal) )) (compound_statement "{\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }" { (expression_statement "puVar3 = (undefined4 *)0x0;" (assignment_expression "puVar3 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_24 == 1) goto LAB_00039901;" if (parenthesized_expression "(local_24 == 1)" ( (binary_expression "local_24 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00039901;" goto statement_identifier ;)) (expression_statement "RelinquishMagickMemory(iVar2);" (call_expression "RelinquishMagickMemory(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) }) (else_clause "else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }" else (compound_statement "{\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }" { (do_statement "do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);" do (compound_statement "{\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          }" { (expression_statement "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" * (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar8 * 4)" ( (binary_expression "iVar2 + iVar8 * 4" identifier + (binary_expression "iVar8 * 4" identifier * number_literal)) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }" if (parenthesized_expression "((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0))" ( (binary_expression "(puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)" (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)" ( (comma_expression "iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0" (assignment_expression "iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4])" identifier = (call_expression "LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4])" identifier (argument_list "(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4])" ( (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" * (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar8 * 4)" ( (binary_expression "iVar2 + iVar8 * 4" identifier + (binary_expression "iVar8 * 4" identifier * number_literal)) )))) , (subscript_expression "puVar3[4]" identifier [ number_literal ]) )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }" { (if_statement "if (0 < local_24) goto LAB_00039901;" if (parenthesized_expression "(0 < local_24)" ( (binary_expression "0 < local_24" number_literal < identifier) )) (goto_statement "goto LAB_00039901;" goto statement_identifier ;)) (expression_statement "RelinquishMagickMemory(iVar2);" (call_expression "RelinquishMagickMemory(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (goto_statement "goto LAB_000397d0;" goto statement_identifier ;) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < local_24)" ( (binary_expression "iVar8 < local_24" identifier < identifier) )) ;) (if_statement "if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }" if (parenthesized_expression "(0 < local_24)" ( (binary_expression "0 < local_24" number_literal < identifier) )) (compound_statement "{\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }" { (labeled_statement "LAB_00039901:\n            iVar8 = 0;" statement_identifier : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;)) (do_statement "do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);" do (compound_statement "{\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            }" { (expression_statement "uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));" (assignment_expression "uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4))" identifier = (call_expression "DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4))" identifier (argument_list "(*(undefined4 *)(iVar2 + iVar8 * 4))" ( (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" * (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar8 * 4)" ( (binary_expression "iVar2 + iVar8 * 4" identifier + (binary_expression "iVar8 * 4" identifier * number_literal)) )))) )))) ;) (expression_statement "*(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;" (assignment_expression "*(undefined4 *)(iVar2 + iVar8 * 4) = uVar4" (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" * (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar8 * 4)" ( (binary_expression "iVar2 + iVar8 * 4" identifier + (binary_expression "iVar8 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < local_24)" ( (binary_expression "iVar8 < local_24" identifier < identifier) )) ;) })) (expression_statement "RelinquishMagickMemory(iVar2);" (call_expression "RelinquishMagickMemory(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (if_statement "if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;" if (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000397d0;" goto statement_identifier ;)) }))) (expression_statement "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));" (call_expression "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244))" identifier (argument_list "(param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244))" ( identifier , (string_literal ""MagickCore/annotate.c"" " string_content ") , (string_literal ""RenderType"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToReadFont"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(param_2 + 0x244)" * (cast_expression "(undefined4 *)(param_2 + 0x244)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x244)" ( (binary_expression "param_2 + 0x244" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_00039990;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);" statement_identifier : (expression_statement "iVar2 = CloneDrawInfo(0,param_2);" (assignment_expression "iVar2 = CloneDrawInfo(0,param_2)" identifier = (call_expression "CloneDrawInfo(0,param_2)" identifier (argument_list "(0,param_2)" ( number_literal , identifier )))) ;)) (expression_statement "*(undefined4 *)(iVar2 + 0x248) = *puVar3;" (assignment_expression "*(undefined4 *)(iVar2 + 0x248) = *puVar3" (pointer_expression "*(undefined4 *)(iVar2 + 0x248)" * (cast_expression "(undefined4 *)(iVar2 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x248)" ( (binary_expression "iVar2 + 0x248" identifier + number_literal) )))) = (pointer_expression "*puVar3" * identifier)) ;) (if_statement "if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }" if (parenthesized_expression "(puVar3[0xb] != 0)" ( (binary_expression "puVar3[0xb] != 0" (subscript_expression "puVar3[0xb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }" { (expression_statement "CloneString(iVar2 + 0x240,puVar3[0xb]);" (call_expression "CloneString(iVar2 + 0x240,puVar3[0xb])" identifier (argument_list "(iVar2 + 0x240,puVar3[0xb])" ( (binary_expression "iVar2 + 0x240" identifier + number_literal) , (subscript_expression "puVar3[0xb]" identifier [ number_literal ]) ))) ;) })) (if_statement "if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }" if (parenthesized_expression "(puVar3[0xc] != 0)" ( (binary_expression "puVar3[0xc] != 0" (subscript_expression "puVar3[0xc]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }" { (expression_statement "CloneString(iVar2 + 0x23c,puVar3[0xc]);" (call_expression "CloneString(iVar2 + 0x23c,puVar3[0xc])" identifier (argument_list "(iVar2 + 0x23c,puVar3[0xc])" ( (binary_expression "iVar2 + 0x23c" identifier + number_literal) , (subscript_expression "puVar3[0xc]" identifier [ number_literal ]) ))) ;) })) (expression_statement "uVar4 = FUN_000396c0(param_4,param_5);" (assignment_expression "uVar4 = FUN_000396c0(param_4,param_5)" identifier = (call_expression "FUN_000396c0(param_4,param_5)" identifier (argument_list "(param_4,param_5)" ( identifier , identifier )))) ;) (expression_statement "DestroyDrawInfo(iVar2);" (call_expression "DestroyDrawInfo(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) }) (else_clause "else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }" else (compound_statement "{\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }" { (expression_statement "cVar1 = *pcVar7;" (assignment_expression "cVar1 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (if_statement "if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }" if (parenthesized_expression "(cVar1 != '@')" ( (binary_expression "cVar1 != '@'" identifier != (char_literal "'@'" ' character ')) )) (compound_statement "{\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }" { (if_statement "if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }" if (parenthesized_expression "(cVar1 == '-')" ( (binary_expression "cVar1 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }" { (if_statement "if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }" if (parenthesized_expression "(DAT_003dc664 == 0)" ( (binary_expression "DAT_003dc664 == 0" identifier == number_literal) )) (compound_statement "{\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }" { (expression_statement "ActivateSemaphoreInfo(&DAT_003dc664);" (call_expression "ActivateSemaphoreInfo(&DAT_003dc664)" identifier (argument_list "(&DAT_003dc664)" ( (pointer_expression "&DAT_003dc664" & identifier) ))) ;) })) (expression_statement "LockSemaphoreInfo(DAT_003dc664);" (call_expression "LockSemaphoreInfo(DAT_003dc664)" identifier (argument_list "(DAT_003dc664)" ( identifier ))) ;) (expression_statement "uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);" (assignment_expression "uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5)" identifier = (call_expression "FUN_001ca340(param_1,param_2,param_3,param_4,param_5)" identifier (argument_list "(param_1,param_2,param_3,param_4,param_5)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "UnlockSemaphoreInfo(DAT_003dc664);" (call_expression "UnlockSemaphoreInfo(DAT_003dc664)" identifier (argument_list "(DAT_003dc664)" ( identifier ))) ;) (goto_statement "goto LAB_00039aaf;" goto statement_identifier ;) })) (if_statement "if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }" if (parenthesized_expression "(cVar1 == '^')" ( (binary_expression "cVar1 == '^'" identifier == (char_literal "'^'" ' character ')) )) (compound_statement "{\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }" { (expression_statement "uVar4 = FUN_00038a60(param_4,param_5);" (assignment_expression "uVar4 = FUN_00038a60(param_4,param_5)" identifier = (call_expression "FUN_00038a60(param_4,param_5)" identifier (argument_list "(param_4,param_5)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_00039aaf;" goto statement_identifier ;) })) (expression_statement "iVar2 = IsPathAccessible(pcVar7);" (assignment_expression "iVar2 = IsPathAccessible(pcVar7)" identifier = (call_expression "IsPathAccessible(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }" { (expression_statement "puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);" (assignment_expression "puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5)" identifier = (cast_expression "(undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x23c),param_5)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x23c)" * (cast_expression "(undefined4 *)(param_2 + 0x23c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x23c)" ( (binary_expression "param_2 + 0x23c" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;" if (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000397d0;" goto statement_identifier ;)) (expression_statement "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));" (call_expression "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c))" identifier (argument_list "(param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c))" ( identifier , (string_literal ""MagickCore/annotate.c"" " string_content ") , (string_literal ""RenderType"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToReadFont"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(param_2 + 0x23c)" * (cast_expression "(undefined4 *)(param_2 + 0x23c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x23c)" ( (binary_expression "param_2 + 0x23c" identifier + number_literal) )))) ))) ;) (expression_statement "pcVar7 = *(char **)(param_2 + 0x244);" (assignment_expression "pcVar7 = *(char **)(param_2 + 0x244)" identifier = (pointer_expression "*(char **)(param_2 + 0x244)" * (cast_expression "(char **)(param_2 + 0x244)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x244)" ( (binary_expression "param_2 + 0x244" identifier + number_literal) ))))) ;) (if_statement "if (pcVar7 != (char *)0x0) goto LAB_0003985e;" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003985e;" goto statement_identifier ;)) (goto_statement "goto LAB_00039990;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);" statement_identifier : (expression_statement "uVar4 = FUN_000396c0(param_4,param_5);" (assignment_expression "uVar4 = FUN_000396c0(param_4,param_5)" identifier = (call_expression "FUN_000396c0(param_4,param_5)" identifier (argument_list "(param_4,param_5)" ( identifier , identifier )))) ;)) }))) (labeled_statement "LAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" { comment (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ComplianceType": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nMagickBooleanType __regparm3\nRenderType(Image *image,DrawInfo *draw_info,PointInfo *offset,TypeMetric *metrics,\n          ExceptionInfo *exception)\n\n{\n  char cVar1;\n  MagickBooleanType MVar2;\n  TypeInfo *pTVar3;\n  DrawInfo *draw_info_00;\n  char *pcVar4;\n  char **memory;\n  int iVar5;\n  char *pcVar6;\n  int iVar7;\n  int in_GS_OFFSET;\n  ExceptionInfo *in_stack_ffffffac;\n  int number_families;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x3974b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar6 = draw_info->font;\n  if (pcVar6 == (char *)0x0) {\n    pcVar6 = draw_info->family;\n    if (pcVar6 == (char *)0x0) {\nLAB_00039990:\n      pTVar3 = GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception);\n      if ((((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n         && (((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)))) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar4 = strchr(pcVar6,0x2c);\n      if ((pcVar4 != (char *)0x0) ||\n         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0)) {\n        memory = StringToArgv(draw_info->family,&number_families);\n        iVar7 = 1;\n        if (number_families < 2) {\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }\n        else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family);\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    draw_info_00 = CloneDrawInfo((ImageInfo *)0x0,draw_info);\n    draw_info_00->face = pTVar3->face;\n    if (pTVar3->metrics != (char *)0x0) {\n      CloneString(&draw_info_00->metrics,pTVar3->metrics);\n    }\n    if (pTVar3->glyphs != (char *)0x0) {\n      CloneString(&draw_info_00->font,pTVar3->glyphs);\n    }\n    MVar2 = RenderFreetype(image,draw_info_00,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);\n    DestroyDrawInfo(draw_info_00);\n  }\n  else {\n    cVar1 = *pcVar6;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (annotate_semaphore == (SemaphoreInfo *)0x0) {\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }\n        LockSemaphoreInfo(annotate_semaphore);\n        MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);\n        UnlockSemaphoreInfo(annotate_semaphore);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);\n        goto LAB_00039aaf;\n      }\n      MVar2 = IsPathAccessible(pcVar6);\n      if (MVar2 == MagickFalse) {\n        pTVar3 = GetTypeInfo(draw_info->font,exception);\n        if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font);\n        pcVar6 = draw_info->family;\n        if (pcVar6 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    MVar2 = RenderFreetype(image,draw_info,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);\n  }\nLAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar2;\n}\n\n" comment comment comment comment comment comment comment (function_definition "MagickBooleanType __regparm3\nRenderType(Image *image,DrawInfo *draw_info,PointInfo *offset,TypeMetric *metrics,\n          ExceptionInfo *exception)\n\n{\n  char cVar1;\n  MagickBooleanType MVar2;\n  TypeInfo *pTVar3;\n  DrawInfo *draw_info_00;\n  char *pcVar4;\n  char **memory;\n  int iVar5;\n  char *pcVar6;\n  int iVar7;\n  int in_GS_OFFSET;\n  ExceptionInfo *in_stack_ffffffac;\n  int number_families;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x3974b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar6 = draw_info->font;\n  if (pcVar6 == (char *)0x0) {\n    pcVar6 = draw_info->family;\n    if (pcVar6 == (char *)0x0) {\nLAB_00039990:\n      pTVar3 = GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception);\n      if ((((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n         && (((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)))) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar4 = strchr(pcVar6,0x2c);\n      if ((pcVar4 != (char *)0x0) ||\n         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0)) {\n        memory = StringToArgv(draw_info->family,&number_families);\n        iVar7 = 1;\n        if (number_families < 2) {\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }\n        else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family);\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    draw_info_00 = CloneDrawInfo((ImageInfo *)0x0,draw_info);\n    draw_info_00->face = pTVar3->face;\n    if (pTVar3->metrics != (char *)0x0) {\n      CloneString(&draw_info_00->metrics,pTVar3->metrics);\n    }\n    if (pTVar3->glyphs != (char *)0x0) {\n      CloneString(&draw_info_00->font,pTVar3->glyphs);\n    }\n    MVar2 = RenderFreetype(image,draw_info_00,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);\n    DestroyDrawInfo(draw_info_00);\n  }\n  else {\n    cVar1 = *pcVar6;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (annotate_semaphore == (SemaphoreInfo *)0x0) {\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }\n        LockSemaphoreInfo(annotate_semaphore);\n        MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);\n        UnlockSemaphoreInfo(annotate_semaphore);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);\n        goto LAB_00039aaf;\n      }\n      MVar2 = IsPathAccessible(pcVar6);\n      if (MVar2 == MagickFalse) {\n        pTVar3 = GetTypeInfo(draw_info->font,exception);\n        if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font);\n        pcVar6 = draw_info->family;\n        if (pcVar6 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    MVar2 = RenderFreetype(image,draw_info,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);\n  }\nLAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar2;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "RenderType(Image *image,DrawInfo *draw_info,PointInfo *offset,TypeMetric *metrics,\n          ExceptionInfo *exception)" identifier (parameter_list "(Image *image,DrawInfo *draw_info,PointInfo *offset,TypeMetric *metrics,\n          ExceptionInfo *exception)" ( (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "DrawInfo *draw_info" type_identifier (pointer_declarator "*draw_info" * identifier)) , (parameter_declaration "PointInfo *offset" type_identifier (pointer_declarator "*offset" * identifier)) , (parameter_declaration "TypeMetric *metrics" type_identifier (pointer_declarator "*metrics" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  MagickBooleanType MVar2;\n  TypeInfo *pTVar3;\n  DrawInfo *draw_info_00;\n  char *pcVar4;\n  char **memory;\n  int iVar5;\n  char *pcVar6;\n  int iVar7;\n  int in_GS_OFFSET;\n  ExceptionInfo *in_stack_ffffffac;\n  int number_families;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x3974b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar6 = draw_info->font;\n  if (pcVar6 == (char *)0x0) {\n    pcVar6 = draw_info->family;\n    if (pcVar6 == (char *)0x0) {\nLAB_00039990:\n      pTVar3 = GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception);\n      if ((((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n         && (((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)))) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar4 = strchr(pcVar6,0x2c);\n      if ((pcVar4 != (char *)0x0) ||\n         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0)) {\n        memory = StringToArgv(draw_info->family,&number_families);\n        iVar7 = 1;\n        if (number_families < 2) {\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }\n        else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family);\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    draw_info_00 = CloneDrawInfo((ImageInfo *)0x0,draw_info);\n    draw_info_00->face = pTVar3->face;\n    if (pTVar3->metrics != (char *)0x0) {\n      CloneString(&draw_info_00->metrics,pTVar3->metrics);\n    }\n    if (pTVar3->glyphs != (char *)0x0) {\n      CloneString(&draw_info_00->font,pTVar3->glyphs);\n    }\n    MVar2 = RenderFreetype(image,draw_info_00,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);\n    DestroyDrawInfo(draw_info_00);\n  }\n  else {\n    cVar1 = *pcVar6;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (annotate_semaphore == (SemaphoreInfo *)0x0) {\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }\n        LockSemaphoreInfo(annotate_semaphore);\n        MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);\n        UnlockSemaphoreInfo(annotate_semaphore);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);\n        goto LAB_00039aaf;\n      }\n      MVar2 = IsPathAccessible(pcVar6);\n      if (MVar2 == MagickFalse) {\n        pTVar3 = GetTypeInfo(draw_info->font,exception);\n        if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font);\n        pcVar6 = draw_info->family;\n        if (pcVar6 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    MVar2 = RenderFreetype(image,draw_info,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);\n  }\nLAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar2;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "MagickBooleanType MVar2;" type_identifier identifier ;) (declaration "TypeInfo *pTVar3;" type_identifier (pointer_declarator "*pTVar3" * identifier) ;) (declaration "DrawInfo *draw_info_00;" type_identifier (pointer_declarator "*draw_info_00" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char **memory;" primitive_type (pointer_declarator "**memory" * (pointer_declarator "*memory" * identifier)) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "ExceptionInfo *in_stack_ffffffac;" type_identifier (pointer_declarator "*in_stack_ffffffac" * identifier) ;) (declaration "int number_families;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x3974b;" (assignment_expression "uStack_14 = 0x3974b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcVar6 = draw_info->font;" (assignment_expression "pcVar6 = draw_info->font" identifier = (field_expression "draw_info->font" identifier -> field_identifier)) ;) (if_statement "if (pcVar6 == (char *)0x0) {\n    pcVar6 = draw_info->family;\n    if (pcVar6 == (char *)0x0) {\nLAB_00039990:\n      pTVar3 = GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception);\n      if ((((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n         && (((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)))) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar4 = strchr(pcVar6,0x2c);\n      if ((pcVar4 != (char *)0x0) ||\n         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0)) {\n        memory = StringToArgv(draw_info->family,&number_families);\n        iVar7 = 1;\n        if (number_families < 2) {\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }\n        else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family);\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    draw_info_00 = CloneDrawInfo((ImageInfo *)0x0,draw_info);\n    draw_info_00->face = pTVar3->face;\n    if (pTVar3->metrics != (char *)0x0) {\n      CloneString(&draw_info_00->metrics,pTVar3->metrics);\n    }\n    if (pTVar3->glyphs != (char *)0x0) {\n      CloneString(&draw_info_00->font,pTVar3->glyphs);\n    }\n    MVar2 = RenderFreetype(image,draw_info_00,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);\n    DestroyDrawInfo(draw_info_00);\n  }\n  else {\n    cVar1 = *pcVar6;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (annotate_semaphore == (SemaphoreInfo *)0x0) {\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }\n        LockSemaphoreInfo(annotate_semaphore);\n        MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);\n        UnlockSemaphoreInfo(annotate_semaphore);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);\n        goto LAB_00039aaf;\n      }\n      MVar2 = IsPathAccessible(pcVar6);\n      if (MVar2 == MagickFalse) {\n        pTVar3 = GetTypeInfo(draw_info->font,exception);\n        if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font);\n        pcVar6 = draw_info->family;\n        if (pcVar6 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    MVar2 = RenderFreetype(image,draw_info,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);\n  }" if (parenthesized_expression "(pcVar6 == (char *)0x0)" ( (binary_expression "pcVar6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar6 = draw_info->family;\n    if (pcVar6 == (char *)0x0) {\nLAB_00039990:\n      pTVar3 = GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception);\n      if ((((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n         && (((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)))) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar4 = strchr(pcVar6,0x2c);\n      if ((pcVar4 != (char *)0x0) ||\n         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0)) {\n        memory = StringToArgv(draw_info->family,&number_families);\n        iVar7 = 1;\n        if (number_families < 2) {\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }\n        else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family);\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    draw_info_00 = CloneDrawInfo((ImageInfo *)0x0,draw_info);\n    draw_info_00->face = pTVar3->face;\n    if (pTVar3->metrics != (char *)0x0) {\n      CloneString(&draw_info_00->metrics,pTVar3->metrics);\n    }\n    if (pTVar3->glyphs != (char *)0x0) {\n      CloneString(&draw_info_00->font,pTVar3->glyphs);\n    }\n    MVar2 = RenderFreetype(image,draw_info_00,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);\n    DestroyDrawInfo(draw_info_00);\n  }" { (expression_statement "pcVar6 = draw_info->family;" (assignment_expression "pcVar6 = draw_info->family" identifier = (field_expression "draw_info->family" identifier -> field_identifier)) ;) (if_statement "if (pcVar6 == (char *)0x0) {\nLAB_00039990:\n      pTVar3 = GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception);\n      if ((((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n         && (((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)))) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar4 = strchr(pcVar6,0x2c);\n      if ((pcVar4 != (char *)0x0) ||\n         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0)) {\n        memory = StringToArgv(draw_info->family,&number_families);\n        iVar7 = 1;\n        if (number_families < 2) {\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }\n        else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family);\n        goto LAB_00039990;\n      }\n    }" if (parenthesized_expression "(pcVar6 == (char *)0x0)" ( (binary_expression "pcVar6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00039990:\n      pTVar3 = GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception);\n      if ((((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n         && (((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)))) goto LAB_00039a93;\n    }" { (labeled_statement "LAB_00039990:\n      pTVar3 = GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception);" statement_identifier : (expression_statement "pTVar3 = GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception);" (assignment_expression "pTVar3 = GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception)" identifier = (call_expression "GetTypeInfoByFamily("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception)" identifier (argument_list "("Arial",draw_info->style,draw_info->stretch,draw_info->weight,\n                                   exception)" ( (string_literal ""Arial"" " string_content ") , (field_expression "draw_info->style" identifier -> field_identifier) , (field_expression "draw_info->stretch" identifier -> field_identifier) , (field_expression "draw_info->weight" identifier -> field_identifier) , identifier )))) ;)) (if_statement "if ((((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n         && (((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)))) goto LAB_00039a93;" if (parenthesized_expression "((((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n         && (((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0))))" ( (binary_expression "(((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n         && (((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)))" (parenthesized_expression "(((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))" ( (binary_expression "((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))\n          && (pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0)" (parenthesized_expression "((pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0))" ( (binary_expression "(pTVar3 == (TypeInfo *)0x0) &&\n           (pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0)" (parenthesized_expression "(pTVar3 == (TypeInfo *)0x0)" ( (binary_expression "pTVar3 == (TypeInfo *)0x0" identifier == (cast_expression "(TypeInfo *)0x0" ( (type_descriptor "TypeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0)" ( (comma_expression "pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0" (assignment_expression "pTVar3 = GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception)" identifier = (call_expression "GetTypeInfoByFamily("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception)" identifier (argument_list "("Helvetica",draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception)" ( (string_literal ""Helvetica"" " string_content ") , (field_expression "draw_info->style" identifier -> field_identifier) , (field_expression "draw_info->stretch" identifier -> field_identifier) , (field_expression "draw_info->weight" identifier -> field_identifier) , identifier )))) , (binary_expression "pTVar3 == (TypeInfo *)0x0" identifier == (cast_expression "(TypeInfo *)0x0" ( (type_descriptor "TypeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0)" ( (comma_expression "pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0" (assignment_expression "pTVar3 = GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception)" identifier = (call_expression "GetTypeInfoByFamily("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception)" identifier (argument_list "("Century Schoolbook",draw_info->style,draw_info->stretch,\n                                           draw_info->weight,exception)" ( (string_literal ""Century Schoolbook"" " string_content ") , (field_expression "draw_info->style" identifier -> field_identifier) , (field_expression "draw_info->stretch" identifier -> field_identifier) , (field_expression "draw_info->weight" identifier -> field_identifier) , identifier )))) , (binary_expression "pTVar3 == (TypeInfo *)0x0" identifier == (cast_expression "(TypeInfo *)0x0" ( (type_descriptor "TypeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)))" ( (parenthesized_expression "((pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0))" ( (binary_expression "(pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)) &&\n             (pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)" (parenthesized_expression "(pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0))" ( (comma_expression "pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception), pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)" (assignment_expression "pTVar3 = GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception)" identifier = (call_expression "GetTypeInfoByFamily("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception)" identifier (argument_list "("Sans",draw_info->style,draw_info->stretch,\n                                            draw_info->weight,exception)" ( (string_literal ""Sans"" " string_content ") , (field_expression "draw_info->style" identifier -> field_identifier) , (field_expression "draw_info->stretch" identifier -> field_identifier) , (field_expression "draw_info->weight" identifier -> field_identifier) , identifier )))) , (binary_expression "pTVar3 == (TypeInfo *)0x0\n              && (pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)" (binary_expression "pTVar3 == (TypeInfo *)0x0" identifier == (cast_expression "(TypeInfo *)0x0" ( (type_descriptor "TypeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0)" ( (comma_expression "pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception),\n                 pTVar3 == (TypeInfo *)0x0" (assignment_expression "pTVar3 = GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception)" identifier = (call_expression "GetTypeInfoByFamily((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception)" identifier (argument_list "((char *)0x0,draw_info->style,draw_info->stretch,\n                                               draw_info->weight,exception)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (field_expression "draw_info->style" identifier -> field_identifier) , (field_expression "draw_info->stretch" identifier -> field_identifier) , (field_expression "draw_info->weight" identifier -> field_identifier) , identifier )))) , (binary_expression "pTVar3 == (TypeInfo *)0x0" identifier == (cast_expression "(TypeInfo *)0x0" ( (type_descriptor "TypeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) && (parenthesized_expression "(pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0)" ( (comma_expression "pTVar3 = GetTypeInfo("*",exception), pTVar3 == (TypeInfo *)0x0" (assignment_expression "pTVar3 = GetTypeInfo("*",exception)" identifier = (call_expression "GetTypeInfo("*",exception)" identifier (argument_list "("*",exception)" ( (string_literal ""*"" " string_content ") , identifier )))) , (binary_expression "pTVar3 == (TypeInfo *)0x0" identifier == (cast_expression "(TypeInfo *)0x0" ( (type_descriptor "TypeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (goto_statement "goto LAB_00039a93;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0003985e:\n      pcVar4 = strchr(pcVar6,0x2c);\n      if ((pcVar4 != (char *)0x0) ||\n         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0)) {\n        memory = StringToArgv(draw_info->family,&number_families);\n        iVar7 = 1;\n        if (number_families < 2) {\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }\n        else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family);\n        goto LAB_00039990;\n      }\n    }" else (compound_statement "{\nLAB_0003985e:\n      pcVar4 = strchr(pcVar6,0x2c);\n      if ((pcVar4 != (char *)0x0) ||\n         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0)) {\n        memory = StringToArgv(draw_info->family,&number_families);\n        iVar7 = 1;\n        if (number_families < 2) {\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }\n        else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family);\n        goto LAB_00039990;\n      }\n    }" { (labeled_statement "LAB_0003985e:\n      pcVar4 = strchr(pcVar6,0x2c);" statement_identifier : (expression_statement "pcVar4 = strchr(pcVar6,0x2c);" (assignment_expression "pcVar4 = strchr(pcVar6,0x2c)" identifier = (call_expression "strchr(pcVar6,0x2c)" identifier (argument_list "(pcVar6,0x2c)" ( identifier , number_literal )))) ;)) (if_statement "if ((pcVar4 != (char *)0x0) ||\n         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0)) {\n        memory = StringToArgv(draw_info->family,&number_families);\n        iVar7 = 1;\n        if (number_families < 2) {\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }\n        else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family);\n        goto LAB_00039990;\n      }" if (parenthesized_expression "((pcVar4 != (char *)0x0) ||\n         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0))" ( (binary_expression "(pcVar4 != (char *)0x0) ||\n         (pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0)" (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)) )) || (parenthesized_expression "(pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0)" ( (comma_expression "pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception), pTVar3 == (TypeInfo *)0x0" (assignment_expression "pTVar3 = GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception)" identifier = (call_expression "GetTypeInfoByFamily(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception)" identifier (argument_list "(pcVar6,draw_info->style,draw_info->stretch,draw_info->weight,\n                                       exception)" ( identifier , (field_expression "draw_info->style" identifier -> field_identifier) , (field_expression "draw_info->stretch" identifier -> field_identifier) , (field_expression "draw_info->weight" identifier -> field_identifier) , identifier )))) , (binary_expression "pTVar3 == (TypeInfo *)0x0" identifier == (cast_expression "(TypeInfo *)0x0" ( (type_descriptor "TypeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        memory = StringToArgv(draw_info->family,&number_families);\n        iVar7 = 1;\n        if (number_families < 2) {\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }\n        else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family);\n        goto LAB_00039990;\n      }" { (expression_statement "memory = StringToArgv(draw_info->family,&number_families);" (assignment_expression "memory = StringToArgv(draw_info->family,&number_families)" identifier = (call_expression "StringToArgv(draw_info->family,&number_families)" identifier (argument_list "(draw_info->family,&number_families)" ( (field_expression "draw_info->family" identifier -> field_identifier) , (pointer_expression "&number_families" & identifier) )))) ;) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (if_statement "if (number_families < 2) {\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }\n        else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }" if (parenthesized_expression "(number_families < 2)" ( (binary_expression "number_families < 2" identifier < number_literal) )) (compound_statement "{\n          pTVar3 = (TypeInfo *)0x0;\n          if (number_families == 1) goto LAB_00039901;\n          RelinquishMagickMemory(memory);\n        }" { (expression_statement "pTVar3 = (TypeInfo *)0x0;" (assignment_expression "pTVar3 = (TypeInfo *)0x0" identifier = (cast_expression "(TypeInfo *)0x0" ( (type_descriptor "TypeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (number_families == 1) goto LAB_00039901;" if (parenthesized_expression "(number_families == 1)" ( (binary_expression "number_families == 1" identifier == number_literal) )) (goto_statement "goto LAB_00039901;" goto statement_identifier ;)) (expression_statement "RelinquishMagickMemory(memory);" (call_expression "RelinquishMagickMemory(memory)" identifier (argument_list "(memory)" ( identifier ))) ;) }) (else_clause "else {\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }" else (compound_statement "{\n          do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);\n          if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }\n          RelinquishMagickMemory(memory);\n          if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        }" { (do_statement "do {\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          } while (iVar7 < number_families);" do (compound_statement "{\n            pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);\n            if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }\n            iVar7 = iVar7 + 1;\n          }" { (expression_statement "pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception);" (assignment_expression "pTVar3 = GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception)" identifier = (call_expression "GetTypeInfoByFamily(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception)" identifier (argument_list "(memory[iVar7],draw_info->style,draw_info->stretch,\n                                         draw_info->weight,exception)" ( (subscript_expression "memory[iVar7]" identifier [ identifier ]) , (field_expression "draw_info->style" identifier -> field_identifier) , (field_expression "draw_info->stretch" identifier -> field_identifier) , (field_expression "draw_info->weight" identifier -> field_identifier) , identifier )))) ;) (if_statement "if ((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)) {\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }" if (parenthesized_expression "((pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0))" ( (binary_expression "(pTVar3 != (TypeInfo *)0x0) &&\n               (iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)" (parenthesized_expression "(pTVar3 != (TypeInfo *)0x0)" ( (binary_expression "pTVar3 != (TypeInfo *)0x0" identifier != (cast_expression "(TypeInfo *)0x0" ( (type_descriptor "TypeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0)" ( (comma_expression "iVar5 = LocaleCompare(memory[iVar7],pTVar3->family), iVar5 == 0" (assignment_expression "iVar5 = LocaleCompare(memory[iVar7],pTVar3->family)" identifier = (call_expression "LocaleCompare(memory[iVar7],pTVar3->family)" identifier (argument_list "(memory[iVar7],pTVar3->family)" ( (subscript_expression "memory[iVar7]" identifier [ identifier ]) , (field_expression "pTVar3->family" identifier -> field_identifier) )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if (0 < number_families) goto LAB_00039901;\n              RelinquishMagickMemory(memory);\n              goto LAB_000397d0;\n            }" { (if_statement "if (0 < number_families) goto LAB_00039901;" if (parenthesized_expression "(0 < number_families)" ( (binary_expression "0 < number_families" number_literal < identifier) )) (goto_statement "goto LAB_00039901;" goto statement_identifier ;)) (expression_statement "RelinquishMagickMemory(memory);" (call_expression "RelinquishMagickMemory(memory)" identifier (argument_list "(memory)" ( identifier ))) ;) (goto_statement "goto LAB_000397d0;" goto statement_identifier ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < number_families)" ( (binary_expression "iVar7 < number_families" identifier < identifier) )) ;) (if_statement "if (0 < number_families) {\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }" if (parenthesized_expression "(0 < number_families)" ( (binary_expression "0 < number_families" number_literal < identifier) )) (compound_statement "{\nLAB_00039901:\n            iVar7 = 0;\n            do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);\n          }" { (labeled_statement "LAB_00039901:\n            iVar7 = 0;" statement_identifier : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;)) (do_statement "do {\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            } while (iVar7 < number_families);" do (compound_statement "{\n              pcVar6 = DestroyString(memory[iVar7]);\n              memory[iVar7] = pcVar6;\n              iVar7 = iVar7 + 1;\n            }" { (expression_statement "pcVar6 = DestroyString(memory[iVar7]);" (assignment_expression "pcVar6 = DestroyString(memory[iVar7])" identifier = (call_expression "DestroyString(memory[iVar7])" identifier (argument_list "(memory[iVar7])" ( (subscript_expression "memory[iVar7]" identifier [ identifier ]) )))) ;) (expression_statement "memory[iVar7] = pcVar6;" (assignment_expression "memory[iVar7] = pcVar6" (subscript_expression "memory[iVar7]" identifier [ identifier ]) = identifier) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < number_families)" ( (binary_expression "iVar7 < number_families" identifier < identifier) )) ;) })) (expression_statement "RelinquishMagickMemory(memory);" (call_expression "RelinquishMagickMemory(memory)" identifier (argument_list "(memory)" ( identifier ))) ;) (if_statement "if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;" if (parenthesized_expression "(pTVar3 != (TypeInfo *)0x0)" ( (binary_expression "pTVar3 != (TypeInfo *)0x0" identifier != (cast_expression "(TypeInfo *)0x0" ( (type_descriptor "TypeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000397d0;" goto statement_identifier ;)) }))) (expression_statement "in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;" (assignment_expression "in_stack_ffffffac = (ExceptionInfo *)0x2a1a40" identifier = (cast_expression "(ExceptionInfo *)0x2a1a40" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family);" (call_expression "ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family)" identifier (argument_list "(exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->family)" ( identifier , (string_literal ""MagickCore/annotate.c"" " string_content ") , (string_literal ""RenderType"" " string_content ") , number_literal , identifier , (string_literal ""UnableToReadFont"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "draw_info->family" identifier -> field_identifier) ))) ;) (goto_statement "goto LAB_00039990;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000397d0:\n    draw_info_00 = CloneDrawInfo((ImageInfo *)0x0,draw_info);" statement_identifier : (expression_statement "draw_info_00 = CloneDrawInfo((ImageInfo *)0x0,draw_info);" (assignment_expression "draw_info_00 = CloneDrawInfo((ImageInfo *)0x0,draw_info)" identifier = (call_expression "CloneDrawInfo((ImageInfo *)0x0,draw_info)" identifier (argument_list "((ImageInfo *)0x0,draw_info)" ( (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier )))) ;)) (expression_statement "draw_info_00->face = pTVar3->face;" (assignment_expression "draw_info_00->face = pTVar3->face" (field_expression "draw_info_00->face" identifier -> field_identifier) = (field_expression "pTVar3->face" identifier -> field_identifier)) ;) (if_statement "if (pTVar3->metrics != (char *)0x0) {\n      CloneString(&draw_info_00->metrics,pTVar3->metrics);\n    }" if (parenthesized_expression "(pTVar3->metrics != (char *)0x0)" ( (binary_expression "pTVar3->metrics != (char *)0x0" (field_expression "pTVar3->metrics" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      CloneString(&draw_info_00->metrics,pTVar3->metrics);\n    }" { (expression_statement "CloneString(&draw_info_00->metrics,pTVar3->metrics);" (call_expression "CloneString(&draw_info_00->metrics,pTVar3->metrics)" identifier (argument_list "(&draw_info_00->metrics,pTVar3->metrics)" ( (pointer_expression "&draw_info_00->metrics" & (field_expression "draw_info_00->metrics" identifier -> field_identifier)) , (field_expression "pTVar3->metrics" identifier -> field_identifier) ))) ;) })) (if_statement "if (pTVar3->glyphs != (char *)0x0) {\n      CloneString(&draw_info_00->font,pTVar3->glyphs);\n    }" if (parenthesized_expression "(pTVar3->glyphs != (char *)0x0)" ( (binary_expression "pTVar3->glyphs != (char *)0x0" (field_expression "pTVar3->glyphs" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      CloneString(&draw_info_00->font,pTVar3->glyphs);\n    }" { (expression_statement "CloneString(&draw_info_00->font,pTVar3->glyphs);" (call_expression "CloneString(&draw_info_00->font,pTVar3->glyphs)" identifier (argument_list "(&draw_info_00->font,pTVar3->glyphs)" ( (pointer_expression "&draw_info_00->font" & (field_expression "draw_info_00->font" identifier -> field_identifier)) , (field_expression "pTVar3->glyphs" identifier -> field_identifier) ))) ;) })) (expression_statement "MVar2 = RenderFreetype(image,draw_info_00,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);" (assignment_expression "MVar2 = RenderFreetype(image,draw_info_00,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac)" identifier = (call_expression "RenderFreetype(image,draw_info_00,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac)" identifier (argument_list "(image,draw_info_00,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac)" ( identifier , identifier , (cast_expression "(char *)offset" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&metrics->pixels_per_em" & (field_expression "metrics->pixels_per_em" identifier -> field_identifier)) , (cast_expression "(TypeMetric *)exception" ( (type_descriptor "TypeMetric *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "DestroyDrawInfo(draw_info_00);" (call_expression "DestroyDrawInfo(draw_info_00)" identifier (argument_list "(draw_info_00)" ( identifier ))) ;) }) (else_clause "else {\n    cVar1 = *pcVar6;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (annotate_semaphore == (SemaphoreInfo *)0x0) {\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }\n        LockSemaphoreInfo(annotate_semaphore);\n        MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);\n        UnlockSemaphoreInfo(annotate_semaphore);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);\n        goto LAB_00039aaf;\n      }\n      MVar2 = IsPathAccessible(pcVar6);\n      if (MVar2 == MagickFalse) {\n        pTVar3 = GetTypeInfo(draw_info->font,exception);\n        if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font);\n        pcVar6 = draw_info->family;\n        if (pcVar6 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    MVar2 = RenderFreetype(image,draw_info,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);\n  }" else (compound_statement "{\n    cVar1 = *pcVar6;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (annotate_semaphore == (SemaphoreInfo *)0x0) {\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }\n        LockSemaphoreInfo(annotate_semaphore);\n        MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);\n        UnlockSemaphoreInfo(annotate_semaphore);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);\n        goto LAB_00039aaf;\n      }\n      MVar2 = IsPathAccessible(pcVar6);\n      if (MVar2 == MagickFalse) {\n        pTVar3 = GetTypeInfo(draw_info->font,exception);\n        if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font);\n        pcVar6 = draw_info->family;\n        if (pcVar6 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    MVar2 = RenderFreetype(image,draw_info,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);\n  }" { (expression_statement "cVar1 = *pcVar6;" (assignment_expression "cVar1 = *pcVar6" identifier = (pointer_expression "*pcVar6" * identifier)) ;) (if_statement "if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (annotate_semaphore == (SemaphoreInfo *)0x0) {\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }\n        LockSemaphoreInfo(annotate_semaphore);\n        MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);\n        UnlockSemaphoreInfo(annotate_semaphore);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);\n        goto LAB_00039aaf;\n      }\n      MVar2 = IsPathAccessible(pcVar6);\n      if (MVar2 == MagickFalse) {\n        pTVar3 = GetTypeInfo(draw_info->font,exception);\n        if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font);\n        pcVar6 = draw_info->family;\n        if (pcVar6 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }" if (parenthesized_expression "(cVar1 != '@')" ( (binary_expression "cVar1 != '@'" identifier != (char_literal "'@'" ' character ')) )) (compound_statement "{\n      if (cVar1 == '-') {\n        if (annotate_semaphore == (SemaphoreInfo *)0x0) {\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }\n        LockSemaphoreInfo(annotate_semaphore);\n        MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);\n        UnlockSemaphoreInfo(annotate_semaphore);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);\n        goto LAB_00039aaf;\n      }\n      MVar2 = IsPathAccessible(pcVar6);\n      if (MVar2 == MagickFalse) {\n        pTVar3 = GetTypeInfo(draw_info->font,exception);\n        if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font);\n        pcVar6 = draw_info->family;\n        if (pcVar6 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }" { (if_statement "if (cVar1 == '-') {\n        if (annotate_semaphore == (SemaphoreInfo *)0x0) {\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }\n        LockSemaphoreInfo(annotate_semaphore);\n        MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);\n        UnlockSemaphoreInfo(annotate_semaphore);\n        goto LAB_00039aaf;\n      }" if (parenthesized_expression "(cVar1 == '-')" ( (binary_expression "cVar1 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n        if (annotate_semaphore == (SemaphoreInfo *)0x0) {\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }\n        LockSemaphoreInfo(annotate_semaphore);\n        MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);\n        UnlockSemaphoreInfo(annotate_semaphore);\n        goto LAB_00039aaf;\n      }" { (if_statement "if (annotate_semaphore == (SemaphoreInfo *)0x0) {\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }" if (parenthesized_expression "(annotate_semaphore == (SemaphoreInfo *)0x0)" ( (binary_expression "annotate_semaphore == (SemaphoreInfo *)0x0" identifier == (cast_expression "(SemaphoreInfo *)0x0" ( (type_descriptor "SemaphoreInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          ActivateSemaphoreInfo(&annotate_semaphore);\n        }" { (expression_statement "ActivateSemaphoreInfo(&annotate_semaphore);" (call_expression "ActivateSemaphoreInfo(&annotate_semaphore)" identifier (argument_list "(&annotate_semaphore)" ( (pointer_expression "&annotate_semaphore" & identifier) ))) ;) })) (expression_statement "LockSemaphoreInfo(annotate_semaphore);" (call_expression "LockSemaphoreInfo(annotate_semaphore)" identifier (argument_list "(annotate_semaphore)" ( identifier ))) ;) (expression_statement "MVar2 = XRenderImage(image,draw_info,offset,metrics,exception);" (assignment_expression "MVar2 = XRenderImage(image,draw_info,offset,metrics,exception)" identifier = (call_expression "XRenderImage(image,draw_info,offset,metrics,exception)" identifier (argument_list "(image,draw_info,offset,metrics,exception)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "UnlockSemaphoreInfo(annotate_semaphore);" (call_expression "UnlockSemaphoreInfo(annotate_semaphore)" identifier (argument_list "(annotate_semaphore)" ( identifier ))) ;) (goto_statement "goto LAB_00039aaf;" goto statement_identifier ;) })) (if_statement "if (cVar1 == '^') {\n        MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);\n        goto LAB_00039aaf;\n      }" if (parenthesized_expression "(cVar1 == '^')" ( (binary_expression "cVar1 == '^'" identifier == (char_literal "'^'" ' character ')) )) (compound_statement "{\n        MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);\n        goto LAB_00039aaf;\n      }" { (expression_statement "MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception);" (assignment_expression "MVar2 = RenderPostscript(image,draw_info,offset,metrics,exception)" identifier = (call_expression "RenderPostscript(image,draw_info,offset,metrics,exception)" identifier (argument_list "(image,draw_info,offset,metrics,exception)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_00039aaf;" goto statement_identifier ;) })) (expression_statement "MVar2 = IsPathAccessible(pcVar6);" (assignment_expression "MVar2 = IsPathAccessible(pcVar6)" identifier = (call_expression "IsPathAccessible(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) ;) (if_statement "if (MVar2 == MagickFalse) {\n        pTVar3 = GetTypeInfo(draw_info->font,exception);\n        if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font);\n        pcVar6 = draw_info->family;\n        if (pcVar6 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }" if (parenthesized_expression "(MVar2 == MagickFalse)" ( (binary_expression "MVar2 == MagickFalse" identifier == identifier) )) (compound_statement "{\n        pTVar3 = GetTypeInfo(draw_info->font,exception);\n        if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;\n        in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;\n        ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font);\n        pcVar6 = draw_info->family;\n        if (pcVar6 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }" { (expression_statement "pTVar3 = GetTypeInfo(draw_info->font,exception);" (assignment_expression "pTVar3 = GetTypeInfo(draw_info->font,exception)" identifier = (call_expression "GetTypeInfo(draw_info->font,exception)" identifier (argument_list "(draw_info->font,exception)" ( (field_expression "draw_info->font" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (pTVar3 != (TypeInfo *)0x0) goto LAB_000397d0;" if (parenthesized_expression "(pTVar3 != (TypeInfo *)0x0)" ( (binary_expression "pTVar3 != (TypeInfo *)0x0" identifier != (cast_expression "(TypeInfo *)0x0" ( (type_descriptor "TypeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000397d0;" goto statement_identifier ;)) (expression_statement "in_stack_ffffffac = (ExceptionInfo *)0x2a1a40;" (assignment_expression "in_stack_ffffffac = (ExceptionInfo *)0x2a1a40" identifier = (cast_expression "(ExceptionInfo *)0x2a1a40" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font);" (call_expression "ThrowMagickException\n                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font)" identifier (argument_list "(exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,\n                   "UnableToReadFont","`%s\'",draw_info->font)" ( identifier , (string_literal ""MagickCore/annotate.c"" " string_content ") , (string_literal ""RenderType"" " string_content ") , number_literal , identifier , (string_literal ""UnableToReadFont"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "draw_info->font" identifier -> field_identifier) ))) ;) (expression_statement "pcVar6 = draw_info->family;" (assignment_expression "pcVar6 = draw_info->family" identifier = (field_expression "draw_info->family" identifier -> field_identifier)) ;) (if_statement "if (pcVar6 != (char *)0x0) goto LAB_0003985e;" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003985e;" goto statement_identifier ;)) (goto_statement "goto LAB_00039990;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00039a93:\n    MVar2 = RenderFreetype(image,draw_info,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);" statement_identifier : (expression_statement "MVar2 = RenderFreetype(image,draw_info,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac);" (assignment_expression "MVar2 = RenderFreetype(image,draw_info,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac)" identifier = (call_expression "RenderFreetype(image,draw_info,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac)" identifier (argument_list "(image,draw_info,(char *)offset,&metrics->pixels_per_em,\n                           (TypeMetric *)exception,in_stack_ffffffac)" ( identifier , identifier , (cast_expression "(char *)offset" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&metrics->pixels_per_em" & (field_expression "metrics->pixels_per_em" identifier -> field_identifier)) , (cast_expression "(TypeMetric *)exception" ( (type_descriptor "TypeMetric *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) }))) (labeled_statement "LAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return MVar2;" return identifier ;) })))
(translation_unit "undefined4 __regparm3\nFUN_00039740(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5\n            )\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x3974b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar7 = *(char **)(param_2 + 0x23c);\n  if (pcVar7 == (char *)0x0) {\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }\n  else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }\nLAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar4;\n}\n\n" (function_definition "undefined4 __regparm3\nFUN_00039740(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5\n            )\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x3974b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar7 = *(char **)(param_2 + 0x23c);\n  if (pcVar7 == (char *)0x0) {\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }\n  else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }\nLAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar4;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00039740(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5\n            )" identifier (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5\n            )" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x3974b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar7 = *(char **)(param_2 + 0x23c);\n  if (pcVar7 == (char *)0x0) {\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }\n  else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }\nLAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar4;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x3974b;" (assignment_expression "uStack_14 = 0x3974b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcVar7 = *(char **)(param_2 + 0x23c);" (assignment_expression "pcVar7 = *(char **)(param_2 + 0x23c)" identifier = (pointer_expression "*(char **)(param_2 + 0x23c)" * (cast_expression "(char **)(param_2 + 0x23c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x23c)" ( (binary_expression "param_2 + 0x23c" identifier + number_literal) ))))) ;) (if_statement "if (pcVar7 == (char *)0x0) {\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }\n  else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }" { (expression_statement "pcVar7 = *(char **)(param_2 + 0x244);" (assignment_expression "pcVar7 = *(char **)(param_2 + 0x244)" identifier = (pointer_expression "*(char **)(param_2 + 0x244)" * (cast_expression "(char **)(param_2 + 0x244)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x244)" ( (binary_expression "param_2 + 0x244" identifier + number_literal) ))))) ;) (if_statement "if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }" { (labeled_statement "LAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);" statement_identifier : (expression_statement "puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);" (assignment_expression "puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" identifier = (cast_expression "(undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" identifier (argument_list "("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" ( (string_literal ""Arial"" " string_content ") , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) ;)) (if_statement "if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;" if (parenthesized_expression "((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         )" ( (binary_expression "(((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))" (parenthesized_expression "(((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0))" ( (binary_expression "((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)" (parenthesized_expression "((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0))" ( (binary_expression "(puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" (parenthesized_expression "(puVar3 == (undefined4 *)0x0)" ( (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" ( (comma_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (string_literal ""Helvetica"" " string_content ") , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)" ( (comma_expression "puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" ( (string_literal ""Century Schoolbook"" " string_content ") , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))" ( (parenthesized_expression "((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0))" ( (binary_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)" (parenthesized_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0))" ( (comma_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (pointer_expression "&DAT_0029ecf1" & identifier) , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" ( (comma_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( number_literal , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) && (parenthesized_expression "(puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)" ( (comma_expression "puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5)" identifier = (cast_expression "(undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfo(&DAT_002b96d5,param_5)" identifier (argument_list "(&DAT_002b96d5,param_5)" ( (pointer_expression "&DAT_002b96d5" & identifier) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (goto_statement "goto LAB_00039a93;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }" else (compound_statement "{\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }" { (labeled_statement "LAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);" statement_identifier : (expression_statement "pcVar5 = strchr(pcVar7,0x2c);" (assignment_expression "pcVar5 = strchr(pcVar7,0x2c)" identifier = (call_expression "strchr(pcVar7,0x2c)" identifier (argument_list "(pcVar7,0x2c)" ( identifier , number_literal )))) ;)) (if_statement "if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }" if (parenthesized_expression "((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0))" ( (binary_expression "(pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)" (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)) )) || (parenthesized_expression "(puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)" ( (comma_expression "puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) , (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }" { (expression_statement "iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);" (assignment_expression "iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24)" identifier = (call_expression "StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x244),&local_24)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x244)" * (cast_expression "(undefined4 *)(param_2 + 0x244)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x244)" ( (binary_expression "param_2 + 0x244" identifier + number_literal) )))) , (pointer_expression "&local_24" & identifier) )))) ;) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (if_statement "if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }" if (parenthesized_expression "(local_24 < 2)" ( (binary_expression "local_24 < 2" identifier < number_literal) )) (compound_statement "{\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }" { (expression_statement "puVar3 = (undefined4 *)0x0;" (assignment_expression "puVar3 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_24 == 1) goto LAB_00039901;" if (parenthesized_expression "(local_24 == 1)" ( (binary_expression "local_24 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00039901;" goto statement_identifier ;)) (expression_statement "RelinquishMagickMemory(iVar2);" (call_expression "RelinquishMagickMemory(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) }) (else_clause "else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }" else (compound_statement "{\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }" { (do_statement "do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);" do (compound_statement "{\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          }" { (expression_statement "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier = (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" identifier (argument_list "(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" ( (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" * (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar8 * 4)" ( (binary_expression "iVar2 + iVar8 * 4" identifier + (binary_expression "iVar8 * 4" identifier * number_literal)) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" * (cast_expression "(undefined4 *)(param_2 + 0x24c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24c)" ( (binary_expression "param_2 + 0x24c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x250)" * (cast_expression "(undefined4 *)(param_2 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x250)" ( (binary_expression "param_2 + 0x250" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x254)" * (cast_expression "(undefined4 *)(param_2 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x254)" ( (binary_expression "param_2 + 0x254" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }" if (parenthesized_expression "((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0))" ( (binary_expression "(puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)" (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)" ( (comma_expression "iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0" (assignment_expression "iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4])" identifier = (call_expression "LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4])" identifier (argument_list "(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4])" ( (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" * (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar8 * 4)" ( (binary_expression "iVar2 + iVar8 * 4" identifier + (binary_expression "iVar8 * 4" identifier * number_literal)) )))) , (subscript_expression "puVar3[4]" identifier [ number_literal ]) )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }" { (if_statement "if (0 < local_24) goto LAB_00039901;" if (parenthesized_expression "(0 < local_24)" ( (binary_expression "0 < local_24" number_literal < identifier) )) (goto_statement "goto LAB_00039901;" goto statement_identifier ;)) (expression_statement "RelinquishMagickMemory(iVar2);" (call_expression "RelinquishMagickMemory(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (goto_statement "goto LAB_000397d0;" goto statement_identifier ;) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < local_24)" ( (binary_expression "iVar8 < local_24" identifier < identifier) )) ;) (if_statement "if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }" if (parenthesized_expression "(0 < local_24)" ( (binary_expression "0 < local_24" number_literal < identifier) )) (compound_statement "{\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }" { (labeled_statement "LAB_00039901:\n            iVar8 = 0;" statement_identifier : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;)) (do_statement "do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);" do (compound_statement "{\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            }" { (expression_statement "uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));" (assignment_expression "uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4))" identifier = (call_expression "DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4))" identifier (argument_list "(*(undefined4 *)(iVar2 + iVar8 * 4))" ( (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" * (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar8 * 4)" ( (binary_expression "iVar2 + iVar8 * 4" identifier + (binary_expression "iVar8 * 4" identifier * number_literal)) )))) )))) ;) (expression_statement "*(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;" (assignment_expression "*(undefined4 *)(iVar2 + iVar8 * 4) = uVar4" (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" * (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar8 * 4)" ( (binary_expression "iVar2 + iVar8 * 4" identifier + (binary_expression "iVar8 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < local_24)" ( (binary_expression "iVar8 < local_24" identifier < identifier) )) ;) })) (expression_statement "RelinquishMagickMemory(iVar2);" (call_expression "RelinquishMagickMemory(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (if_statement "if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;" if (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000397d0;" goto statement_identifier ;)) }))) (expression_statement "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));" (call_expression "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244))" identifier (argument_list "(param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244))" ( identifier , (string_literal ""MagickCore/annotate.c"" " string_content ") , (string_literal ""RenderType"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToReadFont"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(param_2 + 0x244)" * (cast_expression "(undefined4 *)(param_2 + 0x244)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x244)" ( (binary_expression "param_2 + 0x244" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_00039990;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);" statement_identifier : (expression_statement "iVar2 = CloneDrawInfo(0,param_2);" (assignment_expression "iVar2 = CloneDrawInfo(0,param_2)" identifier = (call_expression "CloneDrawInfo(0,param_2)" identifier (argument_list "(0,param_2)" ( number_literal , identifier )))) ;)) (expression_statement "*(undefined4 *)(iVar2 + 0x248) = *puVar3;" (assignment_expression "*(undefined4 *)(iVar2 + 0x248) = *puVar3" (pointer_expression "*(undefined4 *)(iVar2 + 0x248)" * (cast_expression "(undefined4 *)(iVar2 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x248)" ( (binary_expression "iVar2 + 0x248" identifier + number_literal) )))) = (pointer_expression "*puVar3" * identifier)) ;) (if_statement "if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }" if (parenthesized_expression "(puVar3[0xb] != 0)" ( (binary_expression "puVar3[0xb] != 0" (subscript_expression "puVar3[0xb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }" { (expression_statement "CloneString(iVar2 + 0x240,puVar3[0xb]);" (call_expression "CloneString(iVar2 + 0x240,puVar3[0xb])" identifier (argument_list "(iVar2 + 0x240,puVar3[0xb])" ( (binary_expression "iVar2 + 0x240" identifier + number_literal) , (subscript_expression "puVar3[0xb]" identifier [ number_literal ]) ))) ;) })) (if_statement "if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }" if (parenthesized_expression "(puVar3[0xc] != 0)" ( (binary_expression "puVar3[0xc] != 0" (subscript_expression "puVar3[0xc]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }" { (expression_statement "CloneString(iVar2 + 0x23c,puVar3[0xc]);" (call_expression "CloneString(iVar2 + 0x23c,puVar3[0xc])" identifier (argument_list "(iVar2 + 0x23c,puVar3[0xc])" ( (binary_expression "iVar2 + 0x23c" identifier + number_literal) , (subscript_expression "puVar3[0xc]" identifier [ number_literal ]) ))) ;) })) (expression_statement "uVar4 = FUN_000396c0(param_4,param_5);" (assignment_expression "uVar4 = FUN_000396c0(param_4,param_5)" identifier = (call_expression "FUN_000396c0(param_4,param_5)" identifier (argument_list "(param_4,param_5)" ( identifier , identifier )))) ;) (expression_statement "DestroyDrawInfo(iVar2);" (call_expression "DestroyDrawInfo(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) }) (else_clause "else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }" else (compound_statement "{\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }" { (expression_statement "cVar1 = *pcVar7;" (assignment_expression "cVar1 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (if_statement "if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }" if (parenthesized_expression "(cVar1 != '@')" ( (binary_expression "cVar1 != '@'" identifier != (char_literal "'@'" ' character ')) )) (compound_statement "{\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }" { (if_statement "if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }" if (parenthesized_expression "(cVar1 == '-')" ( (binary_expression "cVar1 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }" { (if_statement "if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }" if (parenthesized_expression "(DAT_003dc664 == 0)" ( (binary_expression "DAT_003dc664 == 0" identifier == number_literal) )) (compound_statement "{\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }" { (expression_statement "ActivateSemaphoreInfo(&DAT_003dc664);" (call_expression "ActivateSemaphoreInfo(&DAT_003dc664)" identifier (argument_list "(&DAT_003dc664)" ( (pointer_expression "&DAT_003dc664" & identifier) ))) ;) })) (expression_statement "LockSemaphoreInfo(DAT_003dc664);" (call_expression "LockSemaphoreInfo(DAT_003dc664)" identifier (argument_list "(DAT_003dc664)" ( identifier ))) ;) (expression_statement "uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);" (assignment_expression "uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5)" identifier = (call_expression "FUN_001ca340(param_1,param_2,param_3,param_4,param_5)" identifier (argument_list "(param_1,param_2,param_3,param_4,param_5)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "UnlockSemaphoreInfo(DAT_003dc664);" (call_expression "UnlockSemaphoreInfo(DAT_003dc664)" identifier (argument_list "(DAT_003dc664)" ( identifier ))) ;) (goto_statement "goto LAB_00039aaf;" goto statement_identifier ;) })) (if_statement "if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }" if (parenthesized_expression "(cVar1 == '^')" ( (binary_expression "cVar1 == '^'" identifier == (char_literal "'^'" ' character ')) )) (compound_statement "{\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }" { (expression_statement "uVar4 = FUN_00038a60(param_4,param_5);" (assignment_expression "uVar4 = FUN_00038a60(param_4,param_5)" identifier = (call_expression "FUN_00038a60(param_4,param_5)" identifier (argument_list "(param_4,param_5)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_00039aaf;" goto statement_identifier ;) })) (expression_statement "iVar2 = IsPathAccessible(pcVar7);" (assignment_expression "iVar2 = IsPathAccessible(pcVar7)" identifier = (call_expression "IsPathAccessible(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }" { (expression_statement "puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);" (assignment_expression "puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5)" identifier = (cast_expression "(undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x23c),param_5)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x23c)" * (cast_expression "(undefined4 *)(param_2 + 0x23c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x23c)" ( (binary_expression "param_2 + 0x23c" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;" if (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000397d0;" goto statement_identifier ;)) (expression_statement "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));" (call_expression "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c))" identifier (argument_list "(param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c))" ( identifier , (string_literal ""MagickCore/annotate.c"" " string_content ") , (string_literal ""RenderType"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToReadFont"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(param_2 + 0x23c)" * (cast_expression "(undefined4 *)(param_2 + 0x23c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x23c)" ( (binary_expression "param_2 + 0x23c" identifier + number_literal) )))) ))) ;) (expression_statement "pcVar7 = *(char **)(param_2 + 0x244);" (assignment_expression "pcVar7 = *(char **)(param_2 + 0x244)" identifier = (pointer_expression "*(char **)(param_2 + 0x244)" * (cast_expression "(char **)(param_2 + 0x244)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x244)" ( (binary_expression "param_2 + 0x244" identifier + number_literal) ))))) ;) (if_statement "if (pcVar7 != (char *)0x0) goto LAB_0003985e;" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003985e;" goto statement_identifier ;)) (goto_statement "goto LAB_00039990;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);" statement_identifier : (expression_statement "uVar4 = FUN_000396c0(param_4,param_5);" (assignment_expression "uVar4 = FUN_000396c0(param_4,param_5)" identifier = (call_expression "FUN_000396c0(param_4,param_5)" identifier (argument_list "(param_4,param_5)" ( identifier , identifier )))) ;)) }))) (labeled_statement "LAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_0029eab0();\n  }" { (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) , (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 __regparm3\nFUN_00039740(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5\n            )\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x3974b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar7 = *(char **)(param_2 + 0x23c);\n  if (pcVar7 == (char *)0x0) {\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }\n  else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }\nLAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar4;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00039740(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5\n            )" (identifier "FUN_00039740") (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5\n            )" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) () ")"))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x3974b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar7 = *(char **)(param_2 + 0x23c);\n  if (pcVar7 == (char *)0x0) {\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }\n  else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }\nLAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar4;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x3974b;" (assignment_expression "uStack_14 = 0x3974b" (identifier "uStack_14") (= "=") (number_literal "0x3974b")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "pcVar7 = *(char **)(param_2 + 0x23c);" (assignment_expression "pcVar7 = *(char **)(param_2 + 0x23c)" (identifier "pcVar7") (= "=") (pointer_expression "*(char **)(param_2 + 0x23c)" (* "*") (cast_expression "(char **)(param_2 + 0x23c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x23c)" (( "(") (binary_expression "param_2 + 0x23c" (identifier "param_2") (+ "+") (number_literal "0x23c")) () ")"))))) (; ";")) (if_statement "if (pcVar7 == (char *)0x0) {\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }\n  else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }" (if "if") (parenthesized_expression "(pcVar7 == (char *)0x0)" (( "(") (binary_expression "pcVar7 == (char *)0x0" (identifier "pcVar7") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pcVar7 = *(char **)(param_2 + 0x244);\n    if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }\nLAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);\n    *(undefined4 *)(iVar2 + 0x248) = *puVar3;\n    if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }\n    if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }\n    uVar4 = FUN_000396c0(param_4,param_5);\n    DestroyDrawInfo(iVar2);\n  }" ({ "{") (expression_statement "pcVar7 = *(char **)(param_2 + 0x244);" (assignment_expression "pcVar7 = *(char **)(param_2 + 0x244)" (identifier "pcVar7") (= "=") (pointer_expression "*(char **)(param_2 + 0x244)" (* "*") (cast_expression "(char **)(param_2 + 0x244)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x244)" (( "(") (binary_expression "param_2 + 0x244" (identifier "param_2") (+ "+") (number_literal "0x244")) () ")"))))) (; ";")) (if_statement "if (pcVar7 == (char *)0x0) {\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }\n    else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }" (if "if") (parenthesized_expression "(pcVar7 == (char *)0x0)" (( "(") (binary_expression "pcVar7 == (char *)0x0" (identifier "pcVar7") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);\n      if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;\n    }" ({ "{") (labeled_statement "LAB_00039990:\n      puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);" (statement_identifier "LAB_00039990") (: ":") (expression_statement "puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5);" (assignment_expression "puVar3 = (undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)\n               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" (identifier "GetTypeInfoByFamily") (argument_list "("Arial",*(undefined4 *)(param_2 + 0x24c),\n                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)\n                                   ,param_5)" (( "(") (string_literal ""Arial"" (" """) (string_content "Arial") (" """)) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x24c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x24c)" (( "(") (binary_expression "param_2 + 0x24c" (identifier "param_2") (+ "+") (number_literal "0x24c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x250)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x250)" (( "(") (binary_expression "param_2 + 0x250" (identifier "param_2") (+ "+") (number_literal "0x250")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x254)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x254)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x254)" (( "(") (binary_expression "param_2 + 0x254" (identifier "param_2") (+ "+") (number_literal "0x254")) () ")")))) (, ",") (identifier "param_5") () ")"))))) (; ";"))) (if_statement "if ((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         ) goto LAB_00039a93;" (if "if") (parenthesized_expression "((((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))\n         )" (( "(") (binary_expression "(((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)) &&\n         (((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))" (parenthesized_expression "(((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0))" (( "(") (binary_expression "((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)" (parenthesized_expression "((puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0))" (( "(") (binary_expression "(puVar3 == (undefined4 *)0x0) &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" (parenthesized_expression "(puVar3 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar3 == (undefined4 *)0x0" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" (( "(") (comma_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "GetTypeInfoByFamily") (argument_list "("Helvetica",*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (string_literal ""Helvetica"" (" """) (string_content "Helvetica") (" """)) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x24c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x24c)" (( "(") (binary_expression "param_2 + 0x24c" (identifier "param_2") (+ "+") (number_literal "0x24c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x250)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x250)" (( "(") (binary_expression "param_2 + 0x250" (identifier "param_2") (+ "+") (number_literal "0x250")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x254)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x254)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x254)" (( "(") (binary_expression "param_2 + 0x254" (identifier "param_2") (+ "+") (number_literal "0x254")) () ")")))) (, ",") (identifier "param_5") () ")"))))) (, ",") (binary_expression "puVar3 == (undefined4 *)0x0" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0)" (( "(") (comma_expression "puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5),\n          puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)\n                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "GetTypeInfoByFamily") (argument_list "("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),\n                                        *(undefined4 *)(param_2 + 0x250),\n                                        *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (string_literal ""Century Schoolbook"" (" """) (string_content "Century Schoolbook") (" """)) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x24c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x24c)" (( "(") (binary_expression "param_2 + 0x24c" (identifier "param_2") (+ "+") (number_literal "0x24c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x250)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x250)" (( "(") (binary_expression "param_2 + 0x250" (identifier "param_2") (+ "+") (number_literal "0x250")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x254)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x254)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x254)" (( "(") (binary_expression "param_2 + 0x254" (identifier "param_2") (+ "+") (number_literal "0x254")) () ")")))) (, ",") (identifier "param_5") () ")"))))) (, ",") (binary_expression "puVar3 == (undefined4 *)0x0" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))" (( "(") (parenthesized_expression "((puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0))" (( "(") (binary_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)) &&\n          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)" (parenthesized_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0))" (( "(") (comma_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "GetTypeInfoByFamily") (argument_list "(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (pointer_expression "&DAT_0029ecf1" (& "&") (identifier "DAT_0029ecf1")) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x24c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x24c)" (( "(") (binary_expression "param_2 + 0x24c" (identifier "param_2") (+ "+") (number_literal "0x24c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x250)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x250)" (( "(") (binary_expression "param_2 + 0x250" (identifier "param_2") (+ "+") (number_literal "0x250")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x254)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x254)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x254)" (( "(") (binary_expression "param_2 + 0x254" (identifier "param_2") (+ "+") (number_literal "0x254")) () ")")))) (, ",") (identifier "param_5") () ")"))))) (, ",") (binary_expression "puVar3 == (undefined4 *)0x0 &&\n           (puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" (binary_expression "puVar3 == (undefined4 *)0x0" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "(puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0)" (( "(") (comma_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5),\n           puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "GetTypeInfoByFamily") (argument_list "(0,*(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x24c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x24c)" (( "(") (binary_expression "param_2 + 0x24c" (identifier "param_2") (+ "+") (number_literal "0x24c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x250)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x250)" (( "(") (binary_expression "param_2 + 0x250" (identifier "param_2") (+ "+") (number_literal "0x250")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x254)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x254)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x254)" (( "(") (binary_expression "param_2 + 0x254" (identifier "param_2") (+ "+") (number_literal "0x254")) () ")")))) (, ",") (identifier "param_5") () ")"))))) (, ",") (binary_expression "puVar3 == (undefined4 *)0x0" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)" (( "(") (comma_expression "puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetTypeInfo(&DAT_002b96d5,param_5)" (identifier "GetTypeInfo") (argument_list "(&DAT_002b96d5,param_5)" (( "(") (pointer_expression "&DAT_002b96d5" (& "&") (identifier "DAT_002b96d5")) (, ",") (identifier "param_5") () ")"))))) (, ",") (binary_expression "puVar3 == (undefined4 *)0x0" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00039a93;" (goto "goto") (statement_identifier "LAB_00039a93") (; ";"))) (} "}")) (else_clause "else {\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }" (else "else") (compound_statement "{\nLAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);\n      if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }\n    }" ({ "{") (labeled_statement "LAB_0003985e:\n      pcVar5 = strchr(pcVar7,0x2c);" (statement_identifier "LAB_0003985e") (: ":") (expression_statement "pcVar5 = strchr(pcVar7,0x2c);" (assignment_expression "pcVar5 = strchr(pcVar7,0x2c)" (identifier "pcVar5") (= "=") (call_expression "strchr(pcVar7,0x2c)" (identifier "strchr") (argument_list "(pcVar7,0x2c)" (( "(") (identifier "pcVar7") (, ",") (number_literal "0x2c") () ")")))) (; ";"))) (if_statement "if ((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)) {\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }" (if "if") (parenthesized_expression "((pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0))" (( "(") (binary_expression "(pcVar5 != (char *)0x0) ||\n         (puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)" (parenthesized_expression "(pcVar5 != (char *)0x0)" (( "(") (binary_expression "pcVar5 != (char *)0x0" (identifier "pcVar5") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0)" (( "(") (comma_expression "puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5),\n         puVar3 == (undefined4 *)0x0" (assignment_expression "puVar3 = (undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)\n                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "GetTypeInfoByFamily") (argument_list "(pcVar7,*(undefined4 *)(param_2 + 0x24c),\n                                       *(undefined4 *)(param_2 + 0x250),\n                                       *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (identifier "pcVar7") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x24c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x24c)" (( "(") (binary_expression "param_2 + 0x24c" (identifier "param_2") (+ "+") (number_literal "0x24c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x250)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x250)" (( "(") (binary_expression "param_2 + 0x250" (identifier "param_2") (+ "+") (number_literal "0x250")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x254)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x254)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x254)" (( "(") (binary_expression "param_2 + 0x254" (identifier "param_2") (+ "+") (number_literal "0x254")) () ")")))) (, ",") (identifier "param_5") () ")"))))) (, ",") (binary_expression "puVar3 == (undefined4 *)0x0" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);\n        iVar8 = 1;\n        if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));\n        goto LAB_00039990;\n      }" ({ "{") (expression_statement "iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);" (assignment_expression "iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24)" (identifier "iVar2") (= "=") (call_expression "StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24)" (identifier "StringToArgv") (argument_list "(*(undefined4 *)(param_2 + 0x244),&local_24)" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0x244)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x244)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x244)" (( "(") (binary_expression "param_2 + 0x244" (identifier "param_2") (+ "+") (number_literal "0x244")) () ")")))) (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) () ")")))) (; ";")) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_24 < 2) {\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }\n        else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }" (if "if") (parenthesized_expression "(local_24 < 2)" (( "(") (binary_expression "local_24 < 2" (identifier "local_24") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          puVar3 = (undefined4 *)0x0;\n          if (local_24 == 1) goto LAB_00039901;\n          RelinquishMagickMemory(iVar2);\n        }" ({ "{") (expression_statement "puVar3 = (undefined4 *)0x0;" (assignment_expression "puVar3 = (undefined4 *)0x0" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_24 == 1) goto LAB_00039901;" (if "if") (parenthesized_expression "(local_24 == 1)" (( "(") (binary_expression "local_24 == 1" (identifier "local_24") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_00039901;" (goto "goto") (statement_identifier "LAB_00039901") (; ";"))) (expression_statement "RelinquishMagickMemory(iVar2);" (call_expression "RelinquishMagickMemory(iVar2)" (identifier "RelinquishMagickMemory") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }" (else "else") (compound_statement "{\n          do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);\n          if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }\n          RelinquishMagickMemory(iVar2);\n          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        }" ({ "{") (do_statement "do {\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < local_24);" (do "do") (compound_statement "{\n            puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);\n            if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }\n            iVar8 = iVar8 + 1;\n          }" ({ "{") (expression_statement "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5);" (assignment_expression "puVar3 = (undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)\n                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (identifier "GetTypeInfoByFamily") (argument_list "(*(undefined4 *)(iVar2 + iVar8 * 4),\n                                         *(undefined4 *)(param_2 + 0x24c),\n                                         *(undefined4 *)(param_2 + 0x250),\n                                         *(undefined4 *)(param_2 + 0x254),param_5)" (( "(") (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" (* "*") (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + iVar8 * 4)" (( "(") (binary_expression "iVar2 + iVar8 * 4" (identifier "iVar2") (+ "+") (binary_expression "iVar8 * 4" (identifier "iVar8") (* "*") (number_literal "4"))) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x24c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x24c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x24c)" (( "(") (binary_expression "param_2 + 0x24c" (identifier "param_2") (+ "+") (number_literal "0x24c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x250)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x250)" (( "(") (binary_expression "param_2 + 0x250" (identifier "param_2") (+ "+") (number_literal "0x250")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x254)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x254)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x254)" (( "(") (binary_expression "param_2 + 0x254" (identifier "param_2") (+ "+") (number_literal "0x254")) () ")")))) (, ",") (identifier "param_5") () ")"))))) (; ";")) (if_statement "if ((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }" (if "if") (parenthesized_expression "((puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0))" (( "(") (binary_expression "(puVar3 != (undefined4 *)0x0) &&\n               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)" (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar3 != (undefined4 *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)" (( "(") (comma_expression "iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0" (assignment_expression "iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4])" (identifier "iVar6") (= "=") (call_expression "LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4])" (identifier "LocaleCompare") (argument_list "(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4])" (( "(") (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" (* "*") (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + iVar8 * 4)" (( "(") (binary_expression "iVar2 + iVar8 * 4" (identifier "iVar2") (+ "+") (binary_expression "iVar8 * 4" (identifier "iVar8") (* "*") (number_literal "4"))) () ")")))) (, ",") (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]")) () ")")))) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              if (0 < local_24) goto LAB_00039901;\n              RelinquishMagickMemory(iVar2);\n              goto LAB_000397d0;\n            }" ({ "{") (if_statement "if (0 < local_24) goto LAB_00039901;" (if "if") (parenthesized_expression "(0 < local_24)" (( "(") (binary_expression "0 < local_24" (number_literal "0") (< "<") (identifier "local_24")) () ")")) (goto_statement "goto LAB_00039901;" (goto "goto") (statement_identifier "LAB_00039901") (; ";"))) (expression_statement "RelinquishMagickMemory(iVar2);" (call_expression "RelinquishMagickMemory(iVar2)" (identifier "RelinquishMagickMemory") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (goto_statement "goto LAB_000397d0;" (goto "goto") (statement_identifier "LAB_000397d0") (; ";")) (} "}"))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 < local_24)" (( "(") (binary_expression "iVar8 < local_24" (identifier "iVar8") (< "<") (identifier "local_24")) () ")")) (; ";")) (if_statement "if (0 < local_24) {\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }" (if "if") (parenthesized_expression "(0 < local_24)" (( "(") (binary_expression "0 < local_24" (number_literal "0") (< "<") (identifier "local_24")) () ")")) (compound_statement "{\nLAB_00039901:\n            iVar8 = 0;\n            do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);\n          }" ({ "{") (labeled_statement "LAB_00039901:\n            iVar8 = 0;" (statement_identifier "LAB_00039901") (: ":") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";"))) (do_statement "do {\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            } while (iVar8 < local_24);" (do "do") (compound_statement "{\n              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));\n              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;\n              iVar8 = iVar8 + 1;\n            }" ({ "{") (expression_statement "uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));" (assignment_expression "uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4))" (identifier "uVar4") (= "=") (call_expression "DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4))" (identifier "DestroyString") (argument_list "(*(undefined4 *)(iVar2 + iVar8 * 4))" (( "(") (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" (* "*") (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + iVar8 * 4)" (( "(") (binary_expression "iVar2 + iVar8 * 4" (identifier "iVar2") (+ "+") (binary_expression "iVar8 * 4" (identifier "iVar8") (* "*") (number_literal "4"))) () ")")))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;" (assignment_expression "*(undefined4 *)(iVar2 + iVar8 * 4) = uVar4" (pointer_expression "*(undefined4 *)(iVar2 + iVar8 * 4)" (* "*") (cast_expression "(undefined4 *)(iVar2 + iVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + iVar8 * 4)" (( "(") (binary_expression "iVar2 + iVar8 * 4" (identifier "iVar2") (+ "+") (binary_expression "iVar8 * 4" (identifier "iVar8") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 < local_24)" (( "(") (binary_expression "iVar8 < local_24" (identifier "iVar8") (< "<") (identifier "local_24")) () ")")) (; ";")) (} "}"))) (expression_statement "RelinquishMagickMemory(iVar2);" (call_expression "RelinquishMagickMemory(iVar2)" (identifier "RelinquishMagickMemory") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (if_statement "if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;" (if "if") (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar3 != (undefined4 *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000397d0;" (goto "goto") (statement_identifier "LAB_000397d0") (; ";"))) (} "}")))) (expression_statement "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244));" (call_expression "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244))" (identifier "ThrowMagickException") (argument_list "(param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x244))" (( "(") (identifier "param_5") (, ",") (string_literal ""MagickCore/annotate.c"" (" """) (string_content "MagickCore/annotate.c") (" """)) (, ",") (string_literal ""RenderType"" (" """) (string_content "RenderType") (" """)) (, ",") (number_literal "1000") (, ",") (number_literal "0x131") (, ",") (string_literal ""UnableToReadFont"" (" """) (string_content "UnableToReadFont") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x244)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x244)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x244)" (( "(") (binary_expression "param_2 + 0x244" (identifier "param_2") (+ "+") (number_literal "0x244")) () ")")))) () ")"))) (; ";")) (goto_statement "goto LAB_00039990;" (goto "goto") (statement_identifier "LAB_00039990") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000397d0:\n    iVar2 = CloneDrawInfo(0,param_2);" (statement_identifier "LAB_000397d0") (: ":") (expression_statement "iVar2 = CloneDrawInfo(0,param_2);" (assignment_expression "iVar2 = CloneDrawInfo(0,param_2)" (identifier "iVar2") (= "=") (call_expression "CloneDrawInfo(0,param_2)" (identifier "CloneDrawInfo") (argument_list "(0,param_2)" (( "(") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";"))) (expression_statement "*(undefined4 *)(iVar2 + 0x248) = *puVar3;" (assignment_expression "*(undefined4 *)(iVar2 + 0x248) = *puVar3" (pointer_expression "*(undefined4 *)(iVar2 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x248)" (( "(") (binary_expression "iVar2 + 0x248" (identifier "iVar2") (+ "+") (number_literal "0x248")) () ")")))) (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (if_statement "if (puVar3[0xb] != 0) {\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }" (if "if") (parenthesized_expression "(puVar3[0xb] != 0)" (( "(") (binary_expression "puVar3[0xb] != 0" (subscript_expression "puVar3[0xb]" (identifier "puVar3") ([ "[") (number_literal "0xb") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      CloneString(iVar2 + 0x240,puVar3[0xb]);\n    }" ({ "{") (expression_statement "CloneString(iVar2 + 0x240,puVar3[0xb]);" (call_expression "CloneString(iVar2 + 0x240,puVar3[0xb])" (identifier "CloneString") (argument_list "(iVar2 + 0x240,puVar3[0xb])" (( "(") (binary_expression "iVar2 + 0x240" (identifier "iVar2") (+ "+") (number_literal "0x240")) (, ",") (subscript_expression "puVar3[0xb]" (identifier "puVar3") ([ "[") (number_literal "0xb") (] "]")) () ")"))) (; ";")) (} "}"))) (if_statement "if (puVar3[0xc] != 0) {\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }" (if "if") (parenthesized_expression "(puVar3[0xc] != 0)" (( "(") (binary_expression "puVar3[0xc] != 0" (subscript_expression "puVar3[0xc]" (identifier "puVar3") ([ "[") (number_literal "0xc") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      CloneString(iVar2 + 0x23c,puVar3[0xc]);\n    }" ({ "{") (expression_statement "CloneString(iVar2 + 0x23c,puVar3[0xc]);" (call_expression "CloneString(iVar2 + 0x23c,puVar3[0xc])" (identifier "CloneString") (argument_list "(iVar2 + 0x23c,puVar3[0xc])" (( "(") (binary_expression "iVar2 + 0x23c" (identifier "iVar2") (+ "+") (number_literal "0x23c")) (, ",") (subscript_expression "puVar3[0xc]" (identifier "puVar3") ([ "[") (number_literal "0xc") (] "]")) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar4 = FUN_000396c0(param_4,param_5);" (assignment_expression "uVar4 = FUN_000396c0(param_4,param_5)" (identifier "uVar4") (= "=") (call_expression "FUN_000396c0(param_4,param_5)" (identifier "FUN_000396c0") (argument_list "(param_4,param_5)" (( "(") (identifier "param_4") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "DestroyDrawInfo(iVar2);" (call_expression "DestroyDrawInfo(iVar2)" (identifier "DestroyDrawInfo") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }" (else "else") (compound_statement "{\n    cVar1 = *pcVar7;\n    if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }\nLAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);\n  }" ({ "{") (expression_statement "cVar1 = *pcVar7;" (assignment_expression "cVar1 = *pcVar7" (identifier "cVar1") (= "=") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7"))) (; ";")) (if_statement "if (cVar1 != '@') {\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }" (if "if") (parenthesized_expression "(cVar1 != '@')" (( "(") (binary_expression "cVar1 != '@'" (identifier "cVar1") (!= "!=") (char_literal "'@'" (' "'") (character "@") (' "'"))) () ")")) (compound_statement "{\n      if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }\n      if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }\n      iVar2 = IsPathAccessible(pcVar7);\n      if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }\n    }" ({ "{") (if_statement "if (cVar1 == '-') {\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }" (if "if") (parenthesized_expression "(cVar1 == '-')" (( "(") (binary_expression "cVar1 == '-'" (identifier "cVar1") (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n        if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }\n        LockSemaphoreInfo(DAT_003dc664);\n        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);\n        UnlockSemaphoreInfo(DAT_003dc664);\n        goto LAB_00039aaf;\n      }" ({ "{") (if_statement "if (DAT_003dc664 == 0) {\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }" (if "if") (parenthesized_expression "(DAT_003dc664 == 0)" (( "(") (binary_expression "DAT_003dc664 == 0" (identifier "DAT_003dc664") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          ActivateSemaphoreInfo(&DAT_003dc664);\n        }" ({ "{") (expression_statement "ActivateSemaphoreInfo(&DAT_003dc664);" (call_expression "ActivateSemaphoreInfo(&DAT_003dc664)" (identifier "ActivateSemaphoreInfo") (argument_list "(&DAT_003dc664)" (( "(") (pointer_expression "&DAT_003dc664" (& "&") (identifier "DAT_003dc664")) () ")"))) (; ";")) (} "}"))) (expression_statement "LockSemaphoreInfo(DAT_003dc664);" (call_expression "LockSemaphoreInfo(DAT_003dc664)" (identifier "LockSemaphoreInfo") (argument_list "(DAT_003dc664)" (( "(") (identifier "DAT_003dc664") () ")"))) (; ";")) (expression_statement "uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);" (assignment_expression "uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5)" (identifier "uVar4") (= "=") (call_expression "FUN_001ca340(param_1,param_2,param_3,param_4,param_5)" (identifier "FUN_001ca340") (argument_list "(param_1,param_2,param_3,param_4,param_5)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "UnlockSemaphoreInfo(DAT_003dc664);" (call_expression "UnlockSemaphoreInfo(DAT_003dc664)" (identifier "UnlockSemaphoreInfo") (argument_list "(DAT_003dc664)" (( "(") (identifier "DAT_003dc664") () ")"))) (; ";")) (goto_statement "goto LAB_00039aaf;" (goto "goto") (statement_identifier "LAB_00039aaf") (; ";")) (} "}"))) (if_statement "if (cVar1 == '^') {\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }" (if "if") (parenthesized_expression "(cVar1 == '^')" (( "(") (binary_expression "cVar1 == '^'" (identifier "cVar1") (== "==") (char_literal "'^'" (' "'") (character "^") (' "'"))) () ")")) (compound_statement "{\n        uVar4 = FUN_00038a60(param_4,param_5);\n        goto LAB_00039aaf;\n      }" ({ "{") (expression_statement "uVar4 = FUN_00038a60(param_4,param_5);" (assignment_expression "uVar4 = FUN_00038a60(param_4,param_5)" (identifier "uVar4") (= "=") (call_expression "FUN_00038a60(param_4,param_5)" (identifier "FUN_00038a60") (argument_list "(param_4,param_5)" (( "(") (identifier "param_4") (, ",") (identifier "param_5") () ")")))) (; ";")) (goto_statement "goto LAB_00039aaf;" (goto "goto") (statement_identifier "LAB_00039aaf") (; ";")) (} "}"))) (expression_statement "iVar2 = IsPathAccessible(pcVar7);" (assignment_expression "iVar2 = IsPathAccessible(pcVar7)" (identifier "iVar2") (= "=") (call_expression "IsPathAccessible(pcVar7)" (identifier "IsPathAccessible") (argument_list "(pcVar7)" (( "(") (identifier "pcVar7") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);\n        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;\n        ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));\n        pcVar7 = *(char **)(param_2 + 0x244);\n        if (pcVar7 != (char *)0x0) goto LAB_0003985e;\n        goto LAB_00039990;\n      }" ({ "{") (expression_statement "puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);" (assignment_expression "puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5)" (identifier "GetTypeInfo") (argument_list "(*(undefined4 *)(param_2 + 0x23c),param_5)" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0x23c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x23c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x23c)" (( "(") (binary_expression "param_2 + 0x23c" (identifier "param_2") (+ "+") (number_literal "0x23c")) () ")")))) (, ",") (identifier "param_5") () ")"))))) (; ";")) (if_statement "if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;" (if "if") (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar3 != (undefined4 *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000397d0;" (goto "goto") (statement_identifier "LAB_000397d0") (; ";"))) (expression_statement "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));" (call_expression "ThrowMagickException\n                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c))" (identifier "ThrowMagickException") (argument_list "(param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",\n                   "`%s\'",*(undefined4 *)(param_2 + 0x23c))" (( "(") (identifier "param_5") (, ",") (string_literal ""MagickCore/annotate.c"" (" """) (string_content "MagickCore/annotate.c") (" """)) (, ",") (string_literal ""RenderType"" (" """) (string_content "RenderType") (" """)) (, ",") (number_literal "0x3c4") (, ",") (number_literal "0x131") (, ",") (string_literal ""UnableToReadFont"" (" """) (string_content "UnableToReadFont") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x23c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x23c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x23c)" (( "(") (binary_expression "param_2 + 0x23c" (identifier "param_2") (+ "+") (number_literal "0x23c")) () ")")))) () ")"))) (; ";")) (expression_statement "pcVar7 = *(char **)(param_2 + 0x244);" (assignment_expression "pcVar7 = *(char **)(param_2 + 0x244)" (identifier "pcVar7") (= "=") (pointer_expression "*(char **)(param_2 + 0x244)" (* "*") (cast_expression "(char **)(param_2 + 0x244)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x244)" (( "(") (binary_expression "param_2 + 0x244" (identifier "param_2") (+ "+") (number_literal "0x244")) () ")"))))) (; ";")) (if_statement "if (pcVar7 != (char *)0x0) goto LAB_0003985e;" (if "if") (parenthesized_expression "(pcVar7 != (char *)0x0)" (( "(") (binary_expression "pcVar7 != (char *)0x0" (identifier "pcVar7") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0003985e;" (goto "goto") (statement_identifier "LAB_0003985e") (; ";"))) (goto_statement "goto LAB_00039990;" (goto "goto") (statement_identifier "LAB_00039990") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00039a93:\n    uVar4 = FUN_000396c0(param_4,param_5);" (statement_identifier "LAB_00039a93") (: ":") (expression_statement "uVar4 = FUN_000396c0(param_4,param_5);" (assignment_expression "uVar4 = FUN_000396c0(param_4,param_5)" (identifier "uVar4") (= "=") (call_expression "FUN_000396c0(param_4,param_5)" (identifier "FUN_000396c0") (argument_list "(param_4,param_5)" (( "(") (identifier "param_4") (, ",") (identifier "param_5") () ")")))) (; ";"))) (} "}")))) (labeled_statement "LAB_00039aaf:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" (statement_identifier "LAB_00039aaf") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_0029eab0();\n  }" ({ "{") (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" (identifier "FUN_0029eab0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return uVar4;" (return "return") (identifier "uVar4") (; ";")) (} "}")))

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

type_1 __regparm3
function_1(type_2 *image,type_3 *draw_info,type_4 *offset,type_5 *metrics,
          type_6 *exception)

{
  char var_20;
  type_1 var_28;
  type_7 *var_4;
  type_3 *draw_info_00;
  char *var_7;
  char **memory;
  int var_12;
  char *var_2;
  int var_13;
  int var_1;
  type_6 *in_stack_ffffffac;
  int var_9;
  int var_30;
  type_8 uStack_14;
  
  uStack_14 = 0x3974b;
  var_30 = *(int *)(var_1 + 0x14);
  var_2 = draw_info->font;
  if (var_2 == (char *)0x0) {
    var_2 = draw_info->family;
    if (var_2 == (char *)0x0) {
LAB_00039990:
      var_4 = var_3("Arial",draw_info->style,draw_info->stretch,draw_info->weight,
                                   exception);
      if ((((var_4 == (type_7 *)0x0) &&
           (var_4 = var_3("Helvetica",draw_info->style,draw_info->stretch,
                                         draw_info->weight,exception), var_4 == (type_7 *)0x0))
          && (var_4 = var_3("Century Schoolbook",draw_info->style,draw_info->stretch,
                                           draw_info->weight,exception), var_4 == (type_7 *)0x0))
         && (((var_4 = var_3("Sans",draw_info->style,draw_info->stretch,
                                            draw_info->weight,exception), var_4 == (type_7 *)0x0
              && (var_4 = var_3((char *)0x0,draw_info->style,draw_info->stretch,
                                               draw_info->weight,exception),
                 var_4 == (type_7 *)0x0)) &&
             (var_4 = var_5("*",exception), var_4 == (type_7 *)0x0)))) goto LAB_00039a93;
    }
    else {
LAB_0003985e:
      var_7 = var_6(var_2,0x2c);
      if ((var_7 != (char *)0x0) ||
         (var_4 = var_3(var_2,draw_info->style,draw_info->stretch,draw_info->weight,
                                       exception), var_4 == (type_7 *)0x0)) {
        memory = var_8(draw_info->family,&var_9);
        var_13 = 1;
        if (var_9 < 2) {
          var_4 = (type_7 *)0x0;
          if (var_9 == 1) goto LAB_00039901;
          var_10(memory);
        }
        else {
          do {
            var_4 = var_3(memory[var_13],draw_info->style,draw_info->stretch,
                                         draw_info->weight,exception);
            if ((var_4 != (type_7 *)0x0) &&
               (var_12 = var_11(memory[var_13],var_4->family), var_12 == 0)) {
              if (0 < var_9) goto LAB_00039901;
              var_10(memory);
              goto LAB_000397d0;
            }
            var_13 = var_13 + 1;
          } while (var_13 < var_9);
          if (0 < var_9) {
LAB_00039901:
            var_13 = 0;
            do {
              var_2 = var_14(memory[var_13]);
              memory[var_13] = var_2;
              var_13 = var_13 + 1;
            } while (var_13 < var_9);
          }
          var_10(memory);
          if (var_4 != (type_7 *)0x0) goto LAB_000397d0;
        }
        in_stack_ffffffac = (type_6 *)0x2a1a40;
        var_15
                  (exception,"MagickCore/annotate.c","RenderType",1000,TypeWarning,
                   "UnableToReadFont","`%s\'",draw_info->family);
        goto LAB_00039990;
      }
    }
LAB_000397d0:
    draw_info_00 = var_16((type_9 *)0x0,draw_info);
    draw_info_00->face = var_4->face;
    if (var_4->metrics != (char *)0x0) {
      var_17(&draw_info_00->metrics,var_4->metrics);
    }
    if (var_4->glyphs != (char *)0x0) {
      var_17(&draw_info_00->font,var_4->glyphs);
    }
    var_28 = var_18(image,draw_info_00,(char *)offset,&metrics->pixels_per_em,
                           (type_5 *)exception,in_stack_ffffffac);
    var_19(draw_info_00);
  }
  else {
    var_20 = *var_2;
    if (var_20 != '@') {
      if (var_20 == '-') {
        if (var_21 == (type_10 *)0x0) {
          var_22(&var_21);
        }
        var_23(var_21);
        var_28 = var_24(image,draw_info,offset,metrics,exception);
        var_25(var_21);
        goto LAB_00039aaf;
      }
      if (var_20 == '^') {
        var_28 = var_26(image,draw_info,offset,metrics,exception);
        goto LAB_00039aaf;
      }
      var_28 = var_27(var_2);
      if (var_28 == var_29) {
        var_4 = var_5(draw_info->font,exception);
        if (var_4 != (type_7 *)0x0) goto LAB_000397d0;
        in_stack_ffffffac = (type_6 *)0x2a1a40;
        var_15
                  (exception,"MagickCore/annotate.c","RenderType",0x3c4,TypeWarning,
                   "UnableToReadFont","`%s\'",draw_info->font);
        var_2 = draw_info->family;
        if (var_2 != (char *)0x0) goto LAB_0003985e;
        goto LAB_00039990;
      }
    }
LAB_00039a93:
    var_28 = var_18(image,draw_info,(char *)offset,&metrics->pixels_per_em,
                           (type_5 *)exception,in_stack_ffffffac);
  }
LAB_00039aaf:
  if (var_30 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_31();
  }
  return var_28;
}


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

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

undefined4 __regparm3
MASKED(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5
            )

{
  char cVar1;
  int iVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  char *pcVar5;
  int iVar6;
  char *pcVar7;
  int iVar8;
  int in_GS_OFFSET;
  int local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x3974b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  pcVar7 = *(char **)(param_2 + 0x23c);
  if (pcVar7 == (char *)0x0) {
    pcVar7 = *(char **)(param_2 + 0x244);
    if (pcVar7 == (char *)0x0) {
LAB_00039990:
      puVar3 = (undefined4 *)
               GetTypeInfoByFamily("Arial",*(undefined4 *)(param_2 + 0x24c),
                                   *(undefined4 *)(param_2 + 0x250),*(undefined4 *)(param_2 + 0x254)
                                   ,param_5);
      if ((((puVar3 == (undefined4 *)0x0) &&
           (puVar3 = (undefined4 *)
                     GetTypeInfoByFamily("Helvetica",*(undefined4 *)(param_2 + 0x24c),
                                         *(undefined4 *)(param_2 + 0x250),
                                         *(undefined4 *)(param_2 + 0x254),param_5),
           puVar3 == (undefined4 *)0x0)) &&
          (puVar3 = (undefined4 *)
                    GetTypeInfoByFamily("Century Schoolbook",*(undefined4 *)(param_2 + 0x24c),
                                        *(undefined4 *)(param_2 + 0x250),
                                        *(undefined4 *)(param_2 + 0x254),param_5),
          puVar3 == (undefined4 *)0x0)) &&
         (((puVar3 = (undefined4 *)
                     GetTypeInfoByFamily(&DAT_0029ecf1,*(undefined4 *)(param_2 + 0x24c),
                                         *(undefined4 *)(param_2 + 0x250),
                                         *(undefined4 *)(param_2 + 0x254),param_5),
           puVar3 == (undefined4 *)0x0 &&
           (puVar3 = (undefined4 *)
                     GetTypeInfoByFamily(0,*(undefined4 *)(param_2 + 0x24c),
                                         *(undefined4 *)(param_2 + 0x250),
                                         *(undefined4 *)(param_2 + 0x254),param_5),
           puVar3 == (undefined4 *)0x0)) &&
          (puVar3 = (undefined4 *)GetTypeInfo(&DAT_002b96d5,param_5), puVar3 == (undefined4 *)0x0)))
         ) goto LAB_00039a93;
    }
    else {
LAB_0003985e:
      pcVar5 = strchr(pcVar7,0x2c);
      if ((pcVar5 != (char *)0x0) ||
         (puVar3 = (undefined4 *)
                   GetTypeInfoByFamily(pcVar7,*(undefined4 *)(param_2 + 0x24c),
                                       *(undefined4 *)(param_2 + 0x250),
                                       *(undefined4 *)(param_2 + 0x254),param_5),
         puVar3 == (undefined4 *)0x0)) {
        iVar2 = StringToArgv(*(undefined4 *)(param_2 + 0x244),&local_24);
        iVar8 = 1;
        if (local_24 < 2) {
          puVar3 = (undefined4 *)0x0;
          if (local_24 == 1) goto LAB_00039901;
          RelinquishMagickMemory(iVar2);
        }
        else {
          do {
            puVar3 = (undefined4 *)
                     GetTypeInfoByFamily(*(undefined4 *)(iVar2 + iVar8 * 4),
                                         *(undefined4 *)(param_2 + 0x24c),
                                         *(undefined4 *)(param_2 + 0x250),
                                         *(undefined4 *)(param_2 + 0x254),param_5);
            if ((puVar3 != (undefined4 *)0x0) &&
               (iVar6 = LocaleCompare(*(undefined4 *)(iVar2 + iVar8 * 4),puVar3[4]), iVar6 == 0)) {
              if (0 < local_24) goto LAB_00039901;
              RelinquishMagickMemory(iVar2);
              goto LAB_000397d0;
            }
            iVar8 = iVar8 + 1;
          } while (iVar8 < local_24);
          if (0 < local_24) {
LAB_00039901:
            iVar8 = 0;
            do {
              uVar4 = DestroyString(*(undefined4 *)(iVar2 + iVar8 * 4));
              *(undefined4 *)(iVar2 + iVar8 * 4) = uVar4;
              iVar8 = iVar8 + 1;
            } while (iVar8 < local_24);
          }
          RelinquishMagickMemory(iVar2);
          if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;
        }
        ThrowMagickException
                  (param_5,"MagickCore/annotate.c","RenderType",1000,0x131,"UnableToReadFont",
                   "`%s\'",*(undefined4 *)(param_2 + 0x244));
        goto LAB_00039990;
      }
    }
LAB_000397d0:
    iVar2 = CloneDrawInfo(0,param_2);
    *(undefined4 *)(iVar2 + 0x248) = *puVar3;
    if (puVar3[0xb] != 0) {
      CloneString(iVar2 + 0x240,puVar3[0xb]);
    }
    if (puVar3[0xc] != 0) {
      CloneString(iVar2 + 0x23c,puVar3[0xc]);
    }
    uVar4 = FUN_000396c0(param_4,param_5);
    DestroyDrawInfo(iVar2);
  }
  else {
    cVar1 = *pcVar7;
    if (cVar1 != '@') {
      if (cVar1 == '-') {
        if (DAT_003dc664 == 0) {
          ActivateSemaphoreInfo(&DAT_003dc664);
        }
        LockSemaphoreInfo(DAT_003dc664);
        uVar4 = FUN_001ca340(param_1,param_2,param_3,param_4,param_5);
        UnlockSemaphoreInfo(DAT_003dc664);
        goto LAB_00039aaf;
      }
      if (cVar1 == '^') {
        uVar4 = FUN_00038a60(param_4,param_5);
        goto LAB_00039aaf;
      }
      iVar2 = IsPathAccessible(pcVar7);
      if (iVar2 == 0) {
        puVar3 = (undefined4 *)GetTypeInfo(*(undefined4 *)(param_2 + 0x23c),param_5);
        if (puVar3 != (undefined4 *)0x0) goto LAB_000397d0;
        ThrowMagickException
                  (param_5,"MagickCore/annotate.c","RenderType",0x3c4,0x131,"UnableToReadFont",
                   "`%s\'",*(undefined4 *)(param_2 + 0x23c));
        pcVar7 = *(char **)(param_2 + 0x244);
        if (pcVar7 != (char *)0x0) goto LAB_0003985e;
        goto LAB_00039990;
      }
    }
LAB_00039a93:
    uVar4 = FUN_000396c0(param_4,param_5);
  }
LAB_00039aaf:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return uVar4;
}

