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

MagickBooleanType ListThresholdMapFile(FILE *file,char *xml,char *filename,ExceptionInfo *exception)

{
  XMLTreeInfo *xml_info;
  XMLTreeInfo *xml_info_00;
  char *pcVar1;
  XMLTreeInfo *xml_info_01;
  char *pcVar2;
  char *pcVar3;
  size_t line;
  
  if (xml == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");
  }
  if (file == (FILE *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");
  }
  LogMagickEvent(ConfigureEvent,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,
                 "Loading threshold map file \"%s\" ...",filename);
  xml_info = NewXMLTree(xml,exception);
  if (xml_info != (XMLTreeInfo *)0x0) {
    FormatLocaleFile(file,"%-16s %-12s %s\n","Map","Alias","Description");
    FormatLocaleFile(file,"----------------------------------------------------\n");
    xml_info_00 = GetXMLTreeChild(xml_info,"threshold");
    while( true ) {
      if (xml_info_00 == (XMLTreeInfo *)0x0) {
        DestroyXMLTree(xml_info);
        return MagickTrue;
      }
      pcVar3 = GetXMLTreeAttribute(xml_info_00,"map");
      if (pcVar3 == (char *)0x0) break;
      pcVar1 = GetXMLTreeAttribute(xml_info_00,"alias");
      xml_info_01 = GetXMLTreeChild(xml_info_00,"description");
      if (xml_info_01 == (XMLTreeInfo *)0x0) {
        pcVar3 = "<description>, map \"%s\"";
        pcVar1 = "XmlMissingElement";
        line = 0x6da;
        goto LAB_001aea13;
      }
      pcVar2 = GetXMLTreeContent(xml_info_01);
      if (pcVar2 == (char *)0x0) {
        pcVar3 = "<description>, map \"%s\"";
        pcVar1 = "XmlMissingContent";
        line = 0x6e2;
        goto LAB_001aea13;
      }
      if (pcVar1 == (char *)0x0) {
        pcVar1 = "";
      }
      FormatLocaleFile(file,"%-16s %-12s %s\n",pcVar3,pcVar1,pcVar2);
      xml_info_00 = GetNextXMLTreeTag(xml_info_00);
    }
    pcVar3 = "<map>";
    pcVar1 = "XmlMissingAttribute";
    line = 0x6d1;
LAB_001aea13:
    ThrowMagickException
              (exception,"MagickCore/threshold.c","ListThresholdMapFile",line,OptionError,pcVar1,
               pcVar3);
    DestroyXMLTree(xml_info);
  }
  return MagickFalse;
}



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

undefined4 ListThresholdMapFile(int param_1,int param_2,undefined4 param_3,undefined4 param_4)

{
  int iVar1;
  int iVar2;
  undefined *puVar3;
  int iVar4;
  int iVar5;
  undefined4 uVar6;
  char *pcVar7;
  char *pcVar8;
  
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");
  }
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");
  }
  LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,
                 "Loading threshold map file \"%s\" ...",param_3);
  iVar1 = NewXMLTree(param_2,param_4);
  if (iVar1 != 0) {
    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");
    FormatLocaleFile(param_1,"----------------------------------------------------\n");
    iVar2 = GetXMLTreeChild(iVar1,"threshold");
    while( true ) {
      if (iVar2 == 0) {
        DestroyXMLTree(iVar1);
        return 1;
      }
      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);
      if (iVar5 == 0) break;
      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");
      iVar4 = GetXMLTreeChild(iVar2,"description");
      if (iVar4 == 0) {
        pcVar8 = "<description>, map \"%s\"";
        pcVar7 = "XmlMissingElement";
        uVar6 = 0x6da;
        goto LAB_001aea13;
      }
      iVar4 = GetXMLTreeContent(iVar4);
      if (iVar4 == 0) {
        pcVar8 = "<description>, map \"%s\"";
        pcVar7 = "XmlMissingContent";
        uVar6 = 0x6e2;
        goto LAB_001aea13;
      }
      if (puVar3 == (undefined *)0x0) {
        puVar3 = &DAT_0030570a;
      }
      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);
      iVar2 = GetNextXMLTreeTag(iVar2);
    }
    pcVar8 = "<map>";
    pcVar7 = "XmlMissingAttribute";
    uVar6 = 0x6d1;
LAB_001aea13:
    ThrowMagickException
              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);
    DestroyXMLTree(iVar1);
  }
  return 0;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00038830
ADD EBX,0x22a777
SUB ESP,0x2c
MOV ESI,dword ptr [ESP + 0x44]
TEST ESI,ESI
JZ 0x001aea9e
MOV EDI,dword ptr [ESP + 0x40]
TEST EDI,EDI
JZ 0x001aeabd
LEA EAX,[EBX + 0xffef0f6c]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x50]
PUSH EAX
LEA EAX,[EBX + 0xffef0e14]
PUSH 0x6c2
MOV dword ptr [ESP + 0x2c],EAX
PUSH EAX
LEA EAX,[EBX + 0xffef0afe]
MOV dword ptr [ESP + 0x34],EAX
PUSH EAX
PUSH 0x20
CALL 0x000323b0
ADD ESP,0x18
PUSH dword ptr [ESP + 0x54]
PUSH ESI
CALL 0x00031dc0
MOV EDI,EAX
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
XOR EAX,EAX
TEST EDI,EDI
JZ 0x001aea35
LEA EAX,[EBX + 0xffefa6f7]
SUB ESP,0xc
PUSH EAX
LEA EAX,[EBX + 0xffef0ca3]
PUSH EAX
LEA EAX,[EBX + 0xffeee541]
PUSH EAX
LEA EAX,[EBX + 0xffef0ca9]
MOV dword ptr [ESP + 0x28],EAX
PUSH EAX
PUSH dword ptr [ESP + 0x5c]
CALL 0x000316d0
LEA EAX,[EBX + 0xffef119c]
ADD ESP,0x18
PUSH EAX
PUSH dword ptr [ESP + 0x4c]
CALL 0x000316d0
POP ECX
LEA EAX,[EBX + 0xffee58bf]
POP ESI
PUSH EAX
PUSH EDI
CALL 0x00032f80
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x001aea40
LEA EAX,[EBX + 0xffee574f]
MOV dword ptr [ESP + 0x4],EAX
LEA EAX,[EBX + 0xffee52eb]
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[EBX + 0xffee10f6]
MOV dword ptr [ESP + 0xc],EAX
JMP 0x001ae9e2
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
PUSH ESI
CALL 0x00031d90
MOV EBP,EAX
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00032f80
ADD ESP,0x10
TEST EAX,EAX
JZ 0x001aea60
SUB ESP,0xc
PUSH EAX
CALL 0x000329b0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x001aea80
LEA ECX,[EBX + 0xfff2c70a]
TEST EBP,EBP
CMOVZ EBP,ECX
SUB ESP,0xc
PUSH EAX
PUSH EBP
PUSH EDI
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x5c]
CALL 0x000316d0
ADD ESP,0x14
PUSH ESI
CALL 0x00033880
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x001aea40
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH ESI
CALL 0x00031d90
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JNZ 0x001ae978
LEA EAX,[EBX + 0xffef0cb9]
SUB ESP,0x4
PUSH EAX
LEA EAX,[EBX + 0xffef0bc4]
PUSH EAX
PUSH 0x19a
PUSH 0x6d1
PUSH dword ptr [ESP + 0x2c]
PUSH dword ptr [ESP + 0x34]
PUSH dword ptr [ESP + 0x68]
CALL 0x00032e80
ADD ESP,0x14
PUSH dword ptr [ESP + 0x20]
CALL 0x00032a50
ADD ESP,0x10
XOR EAX,EAX
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x00032a50
ADD ESP,0x10
MOV EAX,0x1
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBX + 0xffef0b67]
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xffef0b7f]
PUSH EAX
PUSH 0x19a
PUSH 0x6da
JMP 0x001aea13
LEA EAX,[EBX + 0xffef0b67]
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xffef0c29]
PUSH EAX
PUSH 0x19a
PUSH 0x6e2
JMP 0x001aea13
LEA EAX,[EBX + 0xffef0e2c]
PUSH EAX
LEA EAX,[EBX + 0xffef0afe]
PUSH 0x6c0
PUSH EAX
LEA EAX,[EBX + 0xffef0c78]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xffef0e2c]
PUSH EAX
LEA EAX,[EBX + 0xffef0afe]
PUSH 0x6c1
PUSH EAX
LEA EAX,[EBX + 0xffef0c8d]
PUSH EAX
CALL 0x000313d0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 ListThresholdMapFile(int param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  \n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }\n  LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3);\n  iVar1 = NewXMLTree(param_2,param_4);\n  if (iVar1 != 0) {\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }\n  return 0;\n}\n\n" comment (function_definition "undefined4 ListThresholdMapFile(int param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  \n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }\n  LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3);\n  iVar1 = NewXMLTree(param_2,param_4);\n  if (iVar1 != 0) {\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }\n  return 0;\n}" type_identifier (function_declarator "ListThresholdMapFile(int param_1,int param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,int param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type 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) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  \n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }\n  LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3);\n  iVar1 = NewXMLTree(param_2,param_4);\n  if (iVar1 != 0) {\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }\n  return 0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (if_statement "if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }" { comment (expression_statement "__assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");" (call_expression "__assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile")" identifier (argument_list "("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile")" ( (string_literal ""xml != (char *) NULL"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ListThresholdMapFile"" " string_content ") ))) ;) })) (if_statement "if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }" { comment (expression_statement "__assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");" (call_expression "__assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile")" identifier (argument_list "("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile")" ( (string_literal ""file != (FILE *) NULL"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ListThresholdMapFile"" " string_content ") ))) ;) })) (expression_statement "LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3);" (call_expression "LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3)" identifier (argument_list "(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3)" ( number_literal , (string_literal ""MagickCore/threshold.c"" " string_content ") , (string_literal ""ListThresholdMapFile"" " string_content ") , number_literal , (string_literal ""Loading threshold map file \"%s\" ..."" " string_content escape_sequence string_content escape_sequence string_content ") , identifier ))) ;) (expression_statement "iVar1 = NewXMLTree(param_2,param_4);" (assignment_expression "iVar1 = NewXMLTree(param_2,param_4)" identifier = (call_expression "NewXMLTree(param_2,param_4)" identifier (argument_list "(param_2,param_4)" ( identifier , identifier )))) ;) (if_statement "if (iVar1 != 0) {\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }" { (expression_statement "FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");" (call_expression "FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description")" identifier (argument_list "(param_1,"%-16s %-12s %s\n","Map","Alias","Description")" ( identifier , (string_literal ""%-16s %-12s %s\n"" " string_content escape_sequence ") , (string_literal ""Map"" " string_content ") , (string_literal ""Alias"" " string_content ") , (string_literal ""Description"" " string_content ") ))) ;) (expression_statement "FormatLocaleFile(param_1,"----------------------------------------------------\n");" (call_expression "FormatLocaleFile(param_1,"----------------------------------------------------\n")" identifier (argument_list "(param_1,"----------------------------------------------------\n")" ( identifier , (string_literal ""----------------------------------------------------\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar2 = GetXMLTreeChild(iVar1,"threshold");" (assignment_expression "iVar2 = GetXMLTreeChild(iVar1,"threshold")" identifier = (call_expression "GetXMLTreeChild(iVar1,"threshold")" identifier (argument_list "(iVar1,"threshold")" ( identifier , (string_literal ""threshold"" " string_content ") )))) ;) (while_statement "while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }" { (if_statement "if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        DestroyXMLTree(iVar1);\n        return 1;\n      }" { (expression_statement "DestroyXMLTree(iVar1);" (call_expression "DestroyXMLTree(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);" (assignment_expression "iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f)" identifier = (call_expression "GetXMLTreeAttribute(iVar2,&DAT_002be74f)" identifier (argument_list "(iVar2,&DAT_002be74f)" ( identifier , (pointer_expression "&DAT_002be74f" & identifier) )))) ;) (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");" (assignment_expression "puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias")" identifier = (cast_expression "(undefined *)GetXMLTreeAttribute(iVar2,"alias")" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetXMLTreeAttribute(iVar2,"alias")" identifier (argument_list "(iVar2,"alias")" ( identifier , (string_literal ""alias"" " string_content ") ))))) ;) (expression_statement "iVar4 = GetXMLTreeChild(iVar2,"description");" (assignment_expression "iVar4 = GetXMLTreeChild(iVar2,"description")" identifier = (call_expression "GetXMLTreeChild(iVar2,"description")" identifier (argument_list "(iVar2,"description")" ( identifier , (string_literal ""description"" " string_content ") )))) ;) (if_statement "if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }" { (expression_statement "pcVar8 = "<description>, map \"%s\"";" (assignment_expression "pcVar8 = "<description>, map \"%s\""" identifier = (string_literal ""<description>, map \"%s\""" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "pcVar7 = "XmlMissingElement";" (assignment_expression "pcVar7 = "XmlMissingElement"" identifier = (string_literal ""XmlMissingElement"" " string_content ")) ;) (expression_statement "uVar6 = 0x6da;" (assignment_expression "uVar6 = 0x6da" identifier = number_literal) ;) (goto_statement "goto LAB_001aea13;" goto statement_identifier ;) })) (expression_statement "iVar4 = GetXMLTreeContent(iVar4);" (assignment_expression "iVar4 = GetXMLTreeContent(iVar4)" identifier = (call_expression "GetXMLTreeContent(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }" { (expression_statement "pcVar8 = "<description>, map \"%s\"";" (assignment_expression "pcVar8 = "<description>, map \"%s\""" identifier = (string_literal ""<description>, map \"%s\""" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "pcVar7 = "XmlMissingContent";" (assignment_expression "pcVar7 = "XmlMissingContent"" identifier = (string_literal ""XmlMissingContent"" " string_content ")) ;) (expression_statement "uVar6 = 0x6e2;" (assignment_expression "uVar6 = 0x6e2" identifier = number_literal) ;) (goto_statement "goto LAB_001aea13;" goto statement_identifier ;) })) (if_statement "if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }" if (parenthesized_expression "(puVar3 == (undefined *)0x0)" ( (binary_expression "puVar3 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar3 = &DAT_0030570a;\n      }" { (expression_statement "puVar3 = &DAT_0030570a;" (assignment_expression "puVar3 = &DAT_0030570a" identifier = (pointer_expression "&DAT_0030570a" & identifier)) ;) })) (expression_statement "FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);" (call_expression "FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4)" identifier (argument_list "(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4)" ( identifier , (string_literal ""%-16s %-12s %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "iVar2 = GetNextXMLTreeTag(iVar2);" (assignment_expression "iVar2 = GetNextXMLTreeTag(iVar2)" identifier = (call_expression "GetNextXMLTreeTag(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) ;) })) (expression_statement "pcVar8 = "<map>";" (assignment_expression "pcVar8 = "<map>"" identifier = (string_literal ""<map>"" " string_content ")) ;) (expression_statement "pcVar7 = "XmlMissingAttribute";" (assignment_expression "pcVar7 = "XmlMissingAttribute"" identifier = (string_literal ""XmlMissingAttribute"" " string_content ")) ;) (expression_statement "uVar6 = 0x6d1;" (assignment_expression "uVar6 = 0x6d1" identifier = number_literal) ;) (labeled_statement "LAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);" statement_identifier : (expression_statement "ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);" (call_expression "ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8)" identifier (argument_list "(param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8)" ( identifier , (string_literal ""MagickCore/threshold.c"" " string_content ") , (string_literal ""ListThresholdMapFile"" " string_content ") , identifier , number_literal , identifier , identifier ))) ;)) (expression_statement "DestroyXMLTree(iVar1);" (call_expression "DestroyXMLTree(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "LogEventType": Some values do not have unique names */\n\nMagickBooleanType ListThresholdMapFile(FILE *file,char *xml,char *filename,ExceptionInfo *exception)\n\n{\n  XMLTreeInfo *xml_info;\n  XMLTreeInfo *xml_info_00;\n  char *pcVar1;\n  XMLTreeInfo *xml_info_01;\n  char *pcVar2;\n  char *pcVar3;\n  size_t line;\n  \n  if (xml == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }\n  if (file == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }\n  LogMagickEvent(ConfigureEvent,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",filename);\n  xml_info = NewXMLTree(xml,exception);\n  if (xml_info != (XMLTreeInfo *)0x0) {\n    FormatLocaleFile(file,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(file,"----------------------------------------------------\n");\n    xml_info_00 = GetXMLTreeChild(xml_info,"threshold");\n    while( true ) {\n      if (xml_info_00 == (XMLTreeInfo *)0x0) {\n        DestroyXMLTree(xml_info);\n        return MagickTrue;\n      }\n      pcVar3 = GetXMLTreeAttribute(xml_info_00,"map");\n      if (pcVar3 == (char *)0x0) break;\n      pcVar1 = GetXMLTreeAttribute(xml_info_00,"alias");\n      xml_info_01 = GetXMLTreeChild(xml_info_00,"description");\n      if (xml_info_01 == (XMLTreeInfo *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingElement";\n        line = 0x6da;\n        goto LAB_001aea13;\n      }\n      pcVar2 = GetXMLTreeContent(xml_info_01);\n      if (pcVar2 == (char *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingContent";\n        line = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (pcVar1 == (char *)0x0) {\n        pcVar1 = "";\n      }\n      FormatLocaleFile(file,"%-16s %-12s %s\n",pcVar3,pcVar1,pcVar2);\n      xml_info_00 = GetNextXMLTreeTag(xml_info_00);\n    }\n    pcVar3 = "<map>";\n    pcVar1 = "XmlMissingAttribute";\n    line = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (exception,"MagickCore/threshold.c","ListThresholdMapFile",line,OptionError,pcVar1,\n               pcVar3);\n    DestroyXMLTree(xml_info);\n  }\n  return MagickFalse;\n}\n\n" comment comment comment comment (function_definition "MagickBooleanType ListThresholdMapFile(FILE *file,char *xml,char *filename,ExceptionInfo *exception)\n\n{\n  XMLTreeInfo *xml_info;\n  XMLTreeInfo *xml_info_00;\n  char *pcVar1;\n  XMLTreeInfo *xml_info_01;\n  char *pcVar2;\n  char *pcVar3;\n  size_t line;\n  \n  if (xml == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }\n  if (file == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }\n  LogMagickEvent(ConfigureEvent,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",filename);\n  xml_info = NewXMLTree(xml,exception);\n  if (xml_info != (XMLTreeInfo *)0x0) {\n    FormatLocaleFile(file,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(file,"----------------------------------------------------\n");\n    xml_info_00 = GetXMLTreeChild(xml_info,"threshold");\n    while( true ) {\n      if (xml_info_00 == (XMLTreeInfo *)0x0) {\n        DestroyXMLTree(xml_info);\n        return MagickTrue;\n      }\n      pcVar3 = GetXMLTreeAttribute(xml_info_00,"map");\n      if (pcVar3 == (char *)0x0) break;\n      pcVar1 = GetXMLTreeAttribute(xml_info_00,"alias");\n      xml_info_01 = GetXMLTreeChild(xml_info_00,"description");\n      if (xml_info_01 == (XMLTreeInfo *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingElement";\n        line = 0x6da;\n        goto LAB_001aea13;\n      }\n      pcVar2 = GetXMLTreeContent(xml_info_01);\n      if (pcVar2 == (char *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingContent";\n        line = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (pcVar1 == (char *)0x0) {\n        pcVar1 = "";\n      }\n      FormatLocaleFile(file,"%-16s %-12s %s\n",pcVar3,pcVar1,pcVar2);\n      xml_info_00 = GetNextXMLTreeTag(xml_info_00);\n    }\n    pcVar3 = "<map>";\n    pcVar1 = "XmlMissingAttribute";\n    line = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (exception,"MagickCore/threshold.c","ListThresholdMapFile",line,OptionError,pcVar1,\n               pcVar3);\n    DestroyXMLTree(xml_info);\n  }\n  return MagickFalse;\n}" type_identifier (function_declarator "ListThresholdMapFile(FILE *file,char *xml,char *filename,ExceptionInfo *exception)" identifier (parameter_list "(FILE *file,char *xml,char *filename,ExceptionInfo *exception)" ( (parameter_declaration "FILE *file" type_identifier (pointer_declarator "*file" * identifier)) , (parameter_declaration "char *xml" primitive_type (pointer_declarator "*xml" * identifier)) , (parameter_declaration "char *filename" primitive_type (pointer_declarator "*filename" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  XMLTreeInfo *xml_info;\n  XMLTreeInfo *xml_info_00;\n  char *pcVar1;\n  XMLTreeInfo *xml_info_01;\n  char *pcVar2;\n  char *pcVar3;\n  size_t line;\n  \n  if (xml == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }\n  if (file == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }\n  LogMagickEvent(ConfigureEvent,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",filename);\n  xml_info = NewXMLTree(xml,exception);\n  if (xml_info != (XMLTreeInfo *)0x0) {\n    FormatLocaleFile(file,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(file,"----------------------------------------------------\n");\n    xml_info_00 = GetXMLTreeChild(xml_info,"threshold");\n    while( true ) {\n      if (xml_info_00 == (XMLTreeInfo *)0x0) {\n        DestroyXMLTree(xml_info);\n        return MagickTrue;\n      }\n      pcVar3 = GetXMLTreeAttribute(xml_info_00,"map");\n      if (pcVar3 == (char *)0x0) break;\n      pcVar1 = GetXMLTreeAttribute(xml_info_00,"alias");\n      xml_info_01 = GetXMLTreeChild(xml_info_00,"description");\n      if (xml_info_01 == (XMLTreeInfo *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingElement";\n        line = 0x6da;\n        goto LAB_001aea13;\n      }\n      pcVar2 = GetXMLTreeContent(xml_info_01);\n      if (pcVar2 == (char *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingContent";\n        line = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (pcVar1 == (char *)0x0) {\n        pcVar1 = "";\n      }\n      FormatLocaleFile(file,"%-16s %-12s %s\n",pcVar3,pcVar1,pcVar2);\n      xml_info_00 = GetNextXMLTreeTag(xml_info_00);\n    }\n    pcVar3 = "<map>";\n    pcVar1 = "XmlMissingAttribute";\n    line = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (exception,"MagickCore/threshold.c","ListThresholdMapFile",line,OptionError,pcVar1,\n               pcVar3);\n    DestroyXMLTree(xml_info);\n  }\n  return MagickFalse;\n}" { (declaration "XMLTreeInfo *xml_info;" type_identifier (pointer_declarator "*xml_info" * identifier) ;) (declaration "XMLTreeInfo *xml_info_00;" type_identifier (pointer_declarator "*xml_info_00" * identifier) ;) (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "XMLTreeInfo *xml_info_01;" type_identifier (pointer_declarator "*xml_info_01" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "size_t line;" primitive_type identifier ;) (if_statement "if (xml == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }" if (parenthesized_expression "(xml == (char *)0x0)" ( (binary_expression "xml == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }" { comment (expression_statement "__assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");" (call_expression "__assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile")" identifier (argument_list "("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile")" ( (string_literal ""xml != (char *) NULL"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ListThresholdMapFile"" " string_content ") ))) ;) })) (if_statement "if (file == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }" if (parenthesized_expression "(file == (FILE *)0x0)" ( (binary_expression "file == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }" { comment (expression_statement "__assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");" (call_expression "__assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile")" identifier (argument_list "("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile")" ( (string_literal ""file != (FILE *) NULL"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ListThresholdMapFile"" " string_content ") ))) ;) })) (expression_statement "LogMagickEvent(ConfigureEvent,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",filename);" (call_expression "LogMagickEvent(ConfigureEvent,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",filename)" identifier (argument_list "(ConfigureEvent,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",filename)" ( identifier , (string_literal ""MagickCore/threshold.c"" " string_content ") , (string_literal ""ListThresholdMapFile"" " string_content ") , number_literal , (string_literal ""Loading threshold map file \"%s\" ..."" " string_content escape_sequence string_content escape_sequence string_content ") , identifier ))) ;) (expression_statement "xml_info = NewXMLTree(xml,exception);" (assignment_expression "xml_info = NewXMLTree(xml,exception)" identifier = (call_expression "NewXMLTree(xml,exception)" identifier (argument_list "(xml,exception)" ( identifier , identifier )))) ;) (if_statement "if (xml_info != (XMLTreeInfo *)0x0) {\n    FormatLocaleFile(file,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(file,"----------------------------------------------------\n");\n    xml_info_00 = GetXMLTreeChild(xml_info,"threshold");\n    while( true ) {\n      if (xml_info_00 == (XMLTreeInfo *)0x0) {\n        DestroyXMLTree(xml_info);\n        return MagickTrue;\n      }\n      pcVar3 = GetXMLTreeAttribute(xml_info_00,"map");\n      if (pcVar3 == (char *)0x0) break;\n      pcVar1 = GetXMLTreeAttribute(xml_info_00,"alias");\n      xml_info_01 = GetXMLTreeChild(xml_info_00,"description");\n      if (xml_info_01 == (XMLTreeInfo *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingElement";\n        line = 0x6da;\n        goto LAB_001aea13;\n      }\n      pcVar2 = GetXMLTreeContent(xml_info_01);\n      if (pcVar2 == (char *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingContent";\n        line = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (pcVar1 == (char *)0x0) {\n        pcVar1 = "";\n      }\n      FormatLocaleFile(file,"%-16s %-12s %s\n",pcVar3,pcVar1,pcVar2);\n      xml_info_00 = GetNextXMLTreeTag(xml_info_00);\n    }\n    pcVar3 = "<map>";\n    pcVar1 = "XmlMissingAttribute";\n    line = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (exception,"MagickCore/threshold.c","ListThresholdMapFile",line,OptionError,pcVar1,\n               pcVar3);\n    DestroyXMLTree(xml_info);\n  }" if (parenthesized_expression "(xml_info != (XMLTreeInfo *)0x0)" ( (binary_expression "xml_info != (XMLTreeInfo *)0x0" identifier != (cast_expression "(XMLTreeInfo *)0x0" ( (type_descriptor "XMLTreeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FormatLocaleFile(file,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(file,"----------------------------------------------------\n");\n    xml_info_00 = GetXMLTreeChild(xml_info,"threshold");\n    while( true ) {\n      if (xml_info_00 == (XMLTreeInfo *)0x0) {\n        DestroyXMLTree(xml_info);\n        return MagickTrue;\n      }\n      pcVar3 = GetXMLTreeAttribute(xml_info_00,"map");\n      if (pcVar3 == (char *)0x0) break;\n      pcVar1 = GetXMLTreeAttribute(xml_info_00,"alias");\n      xml_info_01 = GetXMLTreeChild(xml_info_00,"description");\n      if (xml_info_01 == (XMLTreeInfo *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingElement";\n        line = 0x6da;\n        goto LAB_001aea13;\n      }\n      pcVar2 = GetXMLTreeContent(xml_info_01);\n      if (pcVar2 == (char *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingContent";\n        line = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (pcVar1 == (char *)0x0) {\n        pcVar1 = "";\n      }\n      FormatLocaleFile(file,"%-16s %-12s %s\n",pcVar3,pcVar1,pcVar2);\n      xml_info_00 = GetNextXMLTreeTag(xml_info_00);\n    }\n    pcVar3 = "<map>";\n    pcVar1 = "XmlMissingAttribute";\n    line = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (exception,"MagickCore/threshold.c","ListThresholdMapFile",line,OptionError,pcVar1,\n               pcVar3);\n    DestroyXMLTree(xml_info);\n  }" { (expression_statement "FormatLocaleFile(file,"%-16s %-12s %s\n","Map","Alias","Description");" (call_expression "FormatLocaleFile(file,"%-16s %-12s %s\n","Map","Alias","Description")" identifier (argument_list "(file,"%-16s %-12s %s\n","Map","Alias","Description")" ( identifier , (string_literal ""%-16s %-12s %s\n"" " string_content escape_sequence ") , (string_literal ""Map"" " string_content ") , (string_literal ""Alias"" " string_content ") , (string_literal ""Description"" " string_content ") ))) ;) (expression_statement "FormatLocaleFile(file,"----------------------------------------------------\n");" (call_expression "FormatLocaleFile(file,"----------------------------------------------------\n")" identifier (argument_list "(file,"----------------------------------------------------\n")" ( identifier , (string_literal ""----------------------------------------------------\n"" " string_content escape_sequence ") ))) ;) (expression_statement "xml_info_00 = GetXMLTreeChild(xml_info,"threshold");" (assignment_expression "xml_info_00 = GetXMLTreeChild(xml_info,"threshold")" identifier = (call_expression "GetXMLTreeChild(xml_info,"threshold")" identifier (argument_list "(xml_info,"threshold")" ( identifier , (string_literal ""threshold"" " string_content ") )))) ;) (while_statement "while( true ) {\n      if (xml_info_00 == (XMLTreeInfo *)0x0) {\n        DestroyXMLTree(xml_info);\n        return MagickTrue;\n      }\n      pcVar3 = GetXMLTreeAttribute(xml_info_00,"map");\n      if (pcVar3 == (char *)0x0) break;\n      pcVar1 = GetXMLTreeAttribute(xml_info_00,"alias");\n      xml_info_01 = GetXMLTreeChild(xml_info_00,"description");\n      if (xml_info_01 == (XMLTreeInfo *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingElement";\n        line = 0x6da;\n        goto LAB_001aea13;\n      }\n      pcVar2 = GetXMLTreeContent(xml_info_01);\n      if (pcVar2 == (char *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingContent";\n        line = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (pcVar1 == (char *)0x0) {\n        pcVar1 = "";\n      }\n      FormatLocaleFile(file,"%-16s %-12s %s\n",pcVar3,pcVar1,pcVar2);\n      xml_info_00 = GetNextXMLTreeTag(xml_info_00);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (xml_info_00 == (XMLTreeInfo *)0x0) {\n        DestroyXMLTree(xml_info);\n        return MagickTrue;\n      }\n      pcVar3 = GetXMLTreeAttribute(xml_info_00,"map");\n      if (pcVar3 == (char *)0x0) break;\n      pcVar1 = GetXMLTreeAttribute(xml_info_00,"alias");\n      xml_info_01 = GetXMLTreeChild(xml_info_00,"description");\n      if (xml_info_01 == (XMLTreeInfo *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingElement";\n        line = 0x6da;\n        goto LAB_001aea13;\n      }\n      pcVar2 = GetXMLTreeContent(xml_info_01);\n      if (pcVar2 == (char *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingContent";\n        line = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (pcVar1 == (char *)0x0) {\n        pcVar1 = "";\n      }\n      FormatLocaleFile(file,"%-16s %-12s %s\n",pcVar3,pcVar1,pcVar2);\n      xml_info_00 = GetNextXMLTreeTag(xml_info_00);\n    }" { (if_statement "if (xml_info_00 == (XMLTreeInfo *)0x0) {\n        DestroyXMLTree(xml_info);\n        return MagickTrue;\n      }" if (parenthesized_expression "(xml_info_00 == (XMLTreeInfo *)0x0)" ( (binary_expression "xml_info_00 == (XMLTreeInfo *)0x0" identifier == (cast_expression "(XMLTreeInfo *)0x0" ( (type_descriptor "XMLTreeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        DestroyXMLTree(xml_info);\n        return MagickTrue;\n      }" { (expression_statement "DestroyXMLTree(xml_info);" (call_expression "DestroyXMLTree(xml_info)" identifier (argument_list "(xml_info)" ( identifier ))) ;) (return_statement "return MagickTrue;" return identifier ;) })) (expression_statement "pcVar3 = GetXMLTreeAttribute(xml_info_00,"map");" (assignment_expression "pcVar3 = GetXMLTreeAttribute(xml_info_00,"map")" identifier = (call_expression "GetXMLTreeAttribute(xml_info_00,"map")" identifier (argument_list "(xml_info_00,"map")" ( identifier , (string_literal ""map"" " string_content ") )))) ;) (if_statement "if (pcVar3 == (char *)0x0) break;" if (parenthesized_expression "(pcVar3 == (char *)0x0)" ( (binary_expression "pcVar3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pcVar1 = GetXMLTreeAttribute(xml_info_00,"alias");" (assignment_expression "pcVar1 = GetXMLTreeAttribute(xml_info_00,"alias")" identifier = (call_expression "GetXMLTreeAttribute(xml_info_00,"alias")" identifier (argument_list "(xml_info_00,"alias")" ( identifier , (string_literal ""alias"" " string_content ") )))) ;) (expression_statement "xml_info_01 = GetXMLTreeChild(xml_info_00,"description");" (assignment_expression "xml_info_01 = GetXMLTreeChild(xml_info_00,"description")" identifier = (call_expression "GetXMLTreeChild(xml_info_00,"description")" identifier (argument_list "(xml_info_00,"description")" ( identifier , (string_literal ""description"" " string_content ") )))) ;) (if_statement "if (xml_info_01 == (XMLTreeInfo *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingElement";\n        line = 0x6da;\n        goto LAB_001aea13;\n      }" if (parenthesized_expression "(xml_info_01 == (XMLTreeInfo *)0x0)" ( (binary_expression "xml_info_01 == (XMLTreeInfo *)0x0" identifier == (cast_expression "(XMLTreeInfo *)0x0" ( (type_descriptor "XMLTreeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingElement";\n        line = 0x6da;\n        goto LAB_001aea13;\n      }" { (expression_statement "pcVar3 = "<description>, map \"%s\"";" (assignment_expression "pcVar3 = "<description>, map \"%s\""" identifier = (string_literal ""<description>, map \"%s\""" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "pcVar1 = "XmlMissingElement";" (assignment_expression "pcVar1 = "XmlMissingElement"" identifier = (string_literal ""XmlMissingElement"" " string_content ")) ;) (expression_statement "line = 0x6da;" (assignment_expression "line = 0x6da" identifier = number_literal) ;) (goto_statement "goto LAB_001aea13;" goto statement_identifier ;) })) (expression_statement "pcVar2 = GetXMLTreeContent(xml_info_01);" (assignment_expression "pcVar2 = GetXMLTreeContent(xml_info_01)" identifier = (call_expression "GetXMLTreeContent(xml_info_01)" identifier (argument_list "(xml_info_01)" ( identifier )))) ;) (if_statement "if (pcVar2 == (char *)0x0) {\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingContent";\n        line = 0x6e2;\n        goto LAB_001aea13;\n      }" if (parenthesized_expression "(pcVar2 == (char *)0x0)" ( (binary_expression "pcVar2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar3 = "<description>, map \"%s\"";\n        pcVar1 = "XmlMissingContent";\n        line = 0x6e2;\n        goto LAB_001aea13;\n      }" { (expression_statement "pcVar3 = "<description>, map \"%s\"";" (assignment_expression "pcVar3 = "<description>, map \"%s\""" identifier = (string_literal ""<description>, map \"%s\""" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "pcVar1 = "XmlMissingContent";" (assignment_expression "pcVar1 = "XmlMissingContent"" identifier = (string_literal ""XmlMissingContent"" " string_content ")) ;) (expression_statement "line = 0x6e2;" (assignment_expression "line = 0x6e2" identifier = number_literal) ;) (goto_statement "goto LAB_001aea13;" goto statement_identifier ;) })) (if_statement "if (pcVar1 == (char *)0x0) {\n        pcVar1 = "";\n      }" if (parenthesized_expression "(pcVar1 == (char *)0x0)" ( (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar1 = "";\n      }" { (expression_statement "pcVar1 = "";" (assignment_expression "pcVar1 = """ identifier = (string_literal """" " ")) ;) })) (expression_statement "FormatLocaleFile(file,"%-16s %-12s %s\n",pcVar3,pcVar1,pcVar2);" (call_expression "FormatLocaleFile(file,"%-16s %-12s %s\n",pcVar3,pcVar1,pcVar2)" identifier (argument_list "(file,"%-16s %-12s %s\n",pcVar3,pcVar1,pcVar2)" ( identifier , (string_literal ""%-16s %-12s %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "xml_info_00 = GetNextXMLTreeTag(xml_info_00);" (assignment_expression "xml_info_00 = GetNextXMLTreeTag(xml_info_00)" identifier = (call_expression "GetNextXMLTreeTag(xml_info_00)" identifier (argument_list "(xml_info_00)" ( identifier )))) ;) })) (expression_statement "pcVar3 = "<map>";" (assignment_expression "pcVar3 = "<map>"" identifier = (string_literal ""<map>"" " string_content ")) ;) (expression_statement "pcVar1 = "XmlMissingAttribute";" (assignment_expression "pcVar1 = "XmlMissingAttribute"" identifier = (string_literal ""XmlMissingAttribute"" " string_content ")) ;) (expression_statement "line = 0x6d1;" (assignment_expression "line = 0x6d1" identifier = number_literal) ;) (labeled_statement "LAB_001aea13:\n    ThrowMagickException\n              (exception,"MagickCore/threshold.c","ListThresholdMapFile",line,OptionError,pcVar1,\n               pcVar3);" statement_identifier : (expression_statement "ThrowMagickException\n              (exception,"MagickCore/threshold.c","ListThresholdMapFile",line,OptionError,pcVar1,\n               pcVar3);" (call_expression "ThrowMagickException\n              (exception,"MagickCore/threshold.c","ListThresholdMapFile",line,OptionError,pcVar1,\n               pcVar3)" identifier (argument_list "(exception,"MagickCore/threshold.c","ListThresholdMapFile",line,OptionError,pcVar1,\n               pcVar3)" ( identifier , (string_literal ""MagickCore/threshold.c"" " string_content ") , (string_literal ""ListThresholdMapFile"" " string_content ") , identifier , identifier , identifier , identifier ))) ;)) (expression_statement "DestroyXMLTree(xml_info);" (call_expression "DestroyXMLTree(xml_info)" identifier (argument_list "(xml_info)" ( identifier ))) ;) })) (return_statement "return MagickFalse;" return identifier ;) })))
(translation_unit "undefined4 ListThresholdMapFile(int param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  \n  if (param_2 == 0) {\n                    \n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }\n  if (param_1 == 0) {\n                    \n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }\n  LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3);\n  iVar1 = NewXMLTree(param_2,param_4);\n  if (iVar1 != 0) {\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 ListThresholdMapFile(int param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  \n  if (param_2 == 0) {\n                    \n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }\n  if (param_1 == 0) {\n                    \n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }\n  LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3);\n  iVar1 = NewXMLTree(param_2,param_4);\n  if (iVar1 != 0) {\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }\n  return 0;\n}" type_identifier (function_declarator "ListThresholdMapFile(int param_1,int param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,int param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type 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) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  \n  if (param_2 == 0) {\n                    \n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }\n  if (param_1 == 0) {\n                    \n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }\n  LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3);\n  iVar1 = NewXMLTree(param_2,param_4);\n  if (iVar1 != 0) {\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }\n  return 0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }" { (expression_statement "__assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");" (call_expression "__assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile")" identifier (argument_list "("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile")" ( (string_literal ""xml != (char *) NULL"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ListThresholdMapFile"" " string_content ") ))) ;) })) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }" { (expression_statement "__assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");" (call_expression "__assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile")" identifier (argument_list "("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile")" ( (string_literal ""file != (FILE *) NULL"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ListThresholdMapFile"" " string_content ") ))) ;) })) (expression_statement "LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3);" (call_expression "LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3)" identifier (argument_list "(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3)" ( number_literal , (string_literal ""MagickCore/threshold.c"" " string_content ") , (string_literal ""ListThresholdMapFile"" " string_content ") , number_literal , (string_literal ""Loading threshold map file \"%s\" ..."" " string_content escape_sequence string_content escape_sequence string_content ") , identifier ))) ;) (expression_statement "iVar1 = NewXMLTree(param_2,param_4);" (assignment_expression "iVar1 = NewXMLTree(param_2,param_4)" identifier = (call_expression "NewXMLTree(param_2,param_4)" identifier (argument_list "(param_2,param_4)" ( identifier , identifier )))) ;) (if_statement "if (iVar1 != 0) {\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }" { (expression_statement "FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");" (call_expression "FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description")" identifier (argument_list "(param_1,"%-16s %-12s %s\n","Map","Alias","Description")" ( identifier , (string_literal ""%-16s %-12s %s\n"" " string_content escape_sequence ") , (string_literal ""Map"" " string_content ") , (string_literal ""Alias"" " string_content ") , (string_literal ""Description"" " string_content ") ))) ;) (expression_statement "FormatLocaleFile(param_1,"----------------------------------------------------\n");" (call_expression "FormatLocaleFile(param_1,"----------------------------------------------------\n")" identifier (argument_list "(param_1,"----------------------------------------------------\n")" ( identifier , (string_literal ""----------------------------------------------------\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar2 = GetXMLTreeChild(iVar1,"threshold");" (assignment_expression "iVar2 = GetXMLTreeChild(iVar1,"threshold")" identifier = (call_expression "GetXMLTreeChild(iVar1,"threshold")" identifier (argument_list "(iVar1,"threshold")" ( identifier , (string_literal ""threshold"" " string_content ") )))) ;) (while_statement "while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }" { (if_statement "if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        DestroyXMLTree(iVar1);\n        return 1;\n      }" { (expression_statement "DestroyXMLTree(iVar1);" (call_expression "DestroyXMLTree(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);" (assignment_expression "iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f)" identifier = (call_expression "GetXMLTreeAttribute(iVar2,&DAT_002be74f)" identifier (argument_list "(iVar2,&DAT_002be74f)" ( identifier , (pointer_expression "&DAT_002be74f" & identifier) )))) ;) (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");" (assignment_expression "puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias")" identifier = (cast_expression "(undefined *)GetXMLTreeAttribute(iVar2,"alias")" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetXMLTreeAttribute(iVar2,"alias")" identifier (argument_list "(iVar2,"alias")" ( identifier , (string_literal ""alias"" " string_content ") ))))) ;) (expression_statement "iVar4 = GetXMLTreeChild(iVar2,"description");" (assignment_expression "iVar4 = GetXMLTreeChild(iVar2,"description")" identifier = (call_expression "GetXMLTreeChild(iVar2,"description")" identifier (argument_list "(iVar2,"description")" ( identifier , (string_literal ""description"" " string_content ") )))) ;) (if_statement "if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }" { (expression_statement "pcVar8 = "<description>, map \"%s\"";" (assignment_expression "pcVar8 = "<description>, map \"%s\""" identifier = (string_literal ""<description>, map \"%s\""" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "pcVar7 = "XmlMissingElement";" (assignment_expression "pcVar7 = "XmlMissingElement"" identifier = (string_literal ""XmlMissingElement"" " string_content ")) ;) (expression_statement "uVar6 = 0x6da;" (assignment_expression "uVar6 = 0x6da" identifier = number_literal) ;) (goto_statement "goto LAB_001aea13;" goto statement_identifier ;) })) (expression_statement "iVar4 = GetXMLTreeContent(iVar4);" (assignment_expression "iVar4 = GetXMLTreeContent(iVar4)" identifier = (call_expression "GetXMLTreeContent(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }" { (expression_statement "pcVar8 = "<description>, map \"%s\"";" (assignment_expression "pcVar8 = "<description>, map \"%s\""" identifier = (string_literal ""<description>, map \"%s\""" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "pcVar7 = "XmlMissingContent";" (assignment_expression "pcVar7 = "XmlMissingContent"" identifier = (string_literal ""XmlMissingContent"" " string_content ")) ;) (expression_statement "uVar6 = 0x6e2;" (assignment_expression "uVar6 = 0x6e2" identifier = number_literal) ;) (goto_statement "goto LAB_001aea13;" goto statement_identifier ;) })) (if_statement "if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }" if (parenthesized_expression "(puVar3 == (undefined *)0x0)" ( (binary_expression "puVar3 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar3 = &DAT_0030570a;\n      }" { (expression_statement "puVar3 = &DAT_0030570a;" (assignment_expression "puVar3 = &DAT_0030570a" identifier = (pointer_expression "&DAT_0030570a" & identifier)) ;) })) (expression_statement "FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);" (call_expression "FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4)" identifier (argument_list "(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4)" ( identifier , (string_literal ""%-16s %-12s %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "iVar2 = GetNextXMLTreeTag(iVar2);" (assignment_expression "iVar2 = GetNextXMLTreeTag(iVar2)" identifier = (call_expression "GetNextXMLTreeTag(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) ;) })) (expression_statement "pcVar8 = "<map>";" (assignment_expression "pcVar8 = "<map>"" identifier = (string_literal ""<map>"" " string_content ")) ;) (expression_statement "pcVar7 = "XmlMissingAttribute";" (assignment_expression "pcVar7 = "XmlMissingAttribute"" identifier = (string_literal ""XmlMissingAttribute"" " string_content ")) ;) (expression_statement "uVar6 = 0x6d1;" (assignment_expression "uVar6 = 0x6d1" identifier = number_literal) ;) (labeled_statement "LAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);" statement_identifier : (expression_statement "ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);" (call_expression "ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8)" identifier (argument_list "(param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8)" ( identifier , (string_literal ""MagickCore/threshold.c"" " string_content ") , (string_literal ""ListThresholdMapFile"" " string_content ") , identifier , number_literal , identifier , identifier ))) ;)) (expression_statement "DestroyXMLTree(iVar1);" (call_expression "DestroyXMLTree(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 = (string_literal " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , LIT , IDENT , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (return_statement return LIT ;) })))
(function_definition "undefined4 ListThresholdMapFile(int param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  \n  if (param_2 == 0) {\n                    \n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }\n  if (param_1 == 0) {\n                    \n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }\n  LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3);\n  iVar1 = NewXMLTree(param_2,param_4);\n  if (iVar1 != 0) {\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "ListThresholdMapFile(int param_1,int param_2,undefined4 param_3,undefined4 param_4)" (identifier "ListThresholdMapFile") (parameter_list "(int param_1,int param_2,undefined4 param_3,undefined4 param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (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")) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  \n  if (param_2 == 0) {\n                    \n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }\n  if (param_1 == 0) {\n                    \n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }\n  LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3);\n  iVar1 = NewXMLTree(param_2,param_4);\n  if (iVar1 != 0) {\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }\n  return 0;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");\n  }" ({ "{") (expression_statement "__assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");" (call_expression "__assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile")" (identifier "__assert_fail") (argument_list "("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile")" (( "(") (string_literal ""xml != (char *) NULL"" (" """) (string_content "xml != (char *) NULL") (" """)) (, ",") (string_literal ""MagickCore/threshold.c"" (" """) (string_content "MagickCore/threshold.c") (" """)) (, ",") (number_literal "0x6c0") (, ",") (string_literal ""ListThresholdMapFile"" (" """) (string_content "ListThresholdMapFile") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");\n  }" ({ "{") (expression_statement "__assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");" (call_expression "__assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile")" (identifier "__assert_fail") (argument_list "("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile")" (( "(") (string_literal ""file != (FILE *) NULL"" (" """) (string_content "file != (FILE *) NULL") (" """)) (, ",") (string_literal ""MagickCore/threshold.c"" (" """) (string_content "MagickCore/threshold.c") (" """)) (, ",") (number_literal "0x6c1") (, ",") (string_literal ""ListThresholdMapFile"" (" """) (string_content "ListThresholdMapFile") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3);" (call_expression "LogMagickEvent(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3)" (identifier "LogMagickEvent") (argument_list "(0x20,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,\n                 "Loading threshold map file \"%s\" ...",param_3)" (( "(") (number_literal "0x20") (, ",") (string_literal ""MagickCore/threshold.c"" (" """) (string_content "MagickCore/threshold.c") (" """)) (, ",") (string_literal ""ListThresholdMapFile"" (" """) (string_content "ListThresholdMapFile") (" """)) (, ",") (number_literal "0x6c2") (, ",") (string_literal ""Loading threshold map file \"%s\" ..."" (" """) (string_content "Loading threshold map file ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " ...") (" """)) (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "iVar1 = NewXMLTree(param_2,param_4);" (assignment_expression "iVar1 = NewXMLTree(param_2,param_4)" (identifier "iVar1") (= "=") (call_expression "NewXMLTree(param_2,param_4)" (identifier "NewXMLTree") (argument_list "(param_2,param_4)" (( "(") (identifier "param_2") (, ",") (identifier "param_4") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");\n    FormatLocaleFile(param_1,"----------------------------------------------------\n");\n    iVar2 = GetXMLTreeChild(iVar1,"threshold");\n    while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }\n    pcVar8 = "<map>";\n    pcVar7 = "XmlMissingAttribute";\n    uVar6 = 0x6d1;\nLAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);\n    DestroyXMLTree(iVar1);\n  }" ({ "{") (expression_statement "FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");" (call_expression "FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description")" (identifier "FormatLocaleFile") (argument_list "(param_1,"%-16s %-12s %s\n","Map","Alias","Description")" (( "(") (identifier "param_1") (, ",") (string_literal ""%-16s %-12s %s\n"" (" """) (string_content "%-16s %-12s %s") (escape_sequence "\n") (" """)) (, ",") (string_literal ""Map"" (" """) (string_content "Map") (" """)) (, ",") (string_literal ""Alias"" (" """) (string_content "Alias") (" """)) (, ",") (string_literal ""Description"" (" """) (string_content "Description") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleFile(param_1,"----------------------------------------------------\n");" (call_expression "FormatLocaleFile(param_1,"----------------------------------------------------\n")" (identifier "FormatLocaleFile") (argument_list "(param_1,"----------------------------------------------------\n")" (( "(") (identifier "param_1") (, ",") (string_literal ""----------------------------------------------------\n"" (" """) (string_content "----------------------------------------------------") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "iVar2 = GetXMLTreeChild(iVar1,"threshold");" (assignment_expression "iVar2 = GetXMLTreeChild(iVar1,"threshold")" (identifier "iVar2") (= "=") (call_expression "GetXMLTreeChild(iVar1,"threshold")" (identifier "GetXMLTreeChild") (argument_list "(iVar1,"threshold")" (( "(") (identifier "iVar1") (, ",") (string_literal ""threshold"" (" """) (string_content "threshold") (" """)) () ")")))) (; ";")) (while_statement "while( true ) {\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }\n      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);\n      if (iVar5 == 0) break;\n      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");\n      iVar4 = GetXMLTreeChild(iVar2,"description");\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }\n      iVar4 = GetXMLTreeContent(iVar4);\n      if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }\n      if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }\n      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);\n      iVar2 = GetNextXMLTreeTag(iVar2);\n    }" ({ "{") (if_statement "if (iVar2 == 0) {\n        DestroyXMLTree(iVar1);\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DestroyXMLTree(iVar1);\n        return 1;\n      }" ({ "{") (expression_statement "DestroyXMLTree(iVar1);" (call_expression "DestroyXMLTree(iVar1)" (identifier "DestroyXMLTree") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);" (assignment_expression "iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f)" (identifier "iVar5") (= "=") (call_expression "GetXMLTreeAttribute(iVar2,&DAT_002be74f)" (identifier "GetXMLTreeAttribute") (argument_list "(iVar2,&DAT_002be74f)" (( "(") (identifier "iVar2") (, ",") (pointer_expression "&DAT_002be74f" (& "&") (identifier "DAT_002be74f")) () ")")))) (; ";")) (if_statement "if (iVar5 == 0) break;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");" (assignment_expression "puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias")" (identifier "puVar3") (= "=") (cast_expression "(undefined *)GetXMLTreeAttribute(iVar2,"alias")" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetXMLTreeAttribute(iVar2,"alias")" (identifier "GetXMLTreeAttribute") (argument_list "(iVar2,"alias")" (( "(") (identifier "iVar2") (, ",") (string_literal ""alias"" (" """) (string_content "alias") (" """)) () ")"))))) (; ";")) (expression_statement "iVar4 = GetXMLTreeChild(iVar2,"description");" (assignment_expression "iVar4 = GetXMLTreeChild(iVar2,"description")" (identifier "iVar4") (= "=") (call_expression "GetXMLTreeChild(iVar2,"description")" (identifier "GetXMLTreeChild") (argument_list "(iVar2,"description")" (( "(") (identifier "iVar2") (, ",") (string_literal ""description"" (" """) (string_content "description") (" """)) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingElement";\n        uVar6 = 0x6da;\n        goto LAB_001aea13;\n      }" ({ "{") (expression_statement "pcVar8 = "<description>, map \"%s\"";" (assignment_expression "pcVar8 = "<description>, map \"%s\""" (identifier "pcVar8") (= "=") (string_literal ""<description>, map \"%s\""" (" """) (string_content "<description>, map ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (" """))) (; ";")) (expression_statement "pcVar7 = "XmlMissingElement";" (assignment_expression "pcVar7 = "XmlMissingElement"" (identifier "pcVar7") (= "=") (string_literal ""XmlMissingElement"" (" """) (string_content "XmlMissingElement") (" """))) (; ";")) (expression_statement "uVar6 = 0x6da;" (assignment_expression "uVar6 = 0x6da" (identifier "uVar6") (= "=") (number_literal "0x6da")) (; ";")) (goto_statement "goto LAB_001aea13;" (goto "goto") (statement_identifier "LAB_001aea13") (; ";")) (} "}"))) (expression_statement "iVar4 = GetXMLTreeContent(iVar4);" (assignment_expression "iVar4 = GetXMLTreeContent(iVar4)" (identifier "iVar4") (= "=") (call_expression "GetXMLTreeContent(iVar4)" (identifier "GetXMLTreeContent") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar8 = "<description>, map \"%s\"";\n        pcVar7 = "XmlMissingContent";\n        uVar6 = 0x6e2;\n        goto LAB_001aea13;\n      }" ({ "{") (expression_statement "pcVar8 = "<description>, map \"%s\"";" (assignment_expression "pcVar8 = "<description>, map \"%s\""" (identifier "pcVar8") (= "=") (string_literal ""<description>, map \"%s\""" (" """) (string_content "<description>, map ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (" """))) (; ";")) (expression_statement "pcVar7 = "XmlMissingContent";" (assignment_expression "pcVar7 = "XmlMissingContent"" (identifier "pcVar7") (= "=") (string_literal ""XmlMissingContent"" (" """) (string_content "XmlMissingContent") (" """))) (; ";")) (expression_statement "uVar6 = 0x6e2;" (assignment_expression "uVar6 = 0x6e2" (identifier "uVar6") (= "=") (number_literal "0x6e2")) (; ";")) (goto_statement "goto LAB_001aea13;" (goto "goto") (statement_identifier "LAB_001aea13") (; ";")) (} "}"))) (if_statement "if (puVar3 == (undefined *)0x0) {\n        puVar3 = &DAT_0030570a;\n      }" (if "if") (parenthesized_expression "(puVar3 == (undefined *)0x0)" (( "(") (binary_expression "puVar3 == (undefined *)0x0" (identifier "puVar3") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        puVar3 = &DAT_0030570a;\n      }" ({ "{") (expression_statement "puVar3 = &DAT_0030570a;" (assignment_expression "puVar3 = &DAT_0030570a" (identifier "puVar3") (= "=") (pointer_expression "&DAT_0030570a" (& "&") (identifier "DAT_0030570a"))) (; ";")) (} "}"))) (expression_statement "FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);" (call_expression "FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4)" (identifier "FormatLocaleFile") (argument_list "(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4)" (( "(") (identifier "param_1") (, ",") (string_literal ""%-16s %-12s %s\n"" (" """) (string_content "%-16s %-12s %s") (escape_sequence "\n") (" """)) (, ",") (identifier "iVar5") (, ",") (identifier "puVar3") (, ",") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "iVar2 = GetNextXMLTreeTag(iVar2);" (assignment_expression "iVar2 = GetNextXMLTreeTag(iVar2)" (identifier "iVar2") (= "=") (call_expression "GetNextXMLTreeTag(iVar2)" (identifier "GetNextXMLTreeTag") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar8 = "<map>";" (assignment_expression "pcVar8 = "<map>"" (identifier "pcVar8") (= "=") (string_literal ""<map>"" (" """) (string_content "<map>") (" """))) (; ";")) (expression_statement "pcVar7 = "XmlMissingAttribute";" (assignment_expression "pcVar7 = "XmlMissingAttribute"" (identifier "pcVar7") (= "=") (string_literal ""XmlMissingAttribute"" (" """) (string_content "XmlMissingAttribute") (" """))) (; ";")) (expression_statement "uVar6 = 0x6d1;" (assignment_expression "uVar6 = 0x6d1" (identifier "uVar6") (= "=") (number_literal "0x6d1")) (; ";")) (labeled_statement "LAB_001aea13:\n    ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);" (statement_identifier "LAB_001aea13") (: ":") (expression_statement "ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8);" (call_expression "ThrowMagickException\n              (param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8)" (identifier "ThrowMagickException") (argument_list "(param_4,"MagickCore/threshold.c","ListThresholdMapFile",uVar6,0x19a,pcVar7,pcVar8)" (( "(") (identifier "param_4") (, ",") (string_literal ""MagickCore/threshold.c"" (" """) (string_content "MagickCore/threshold.c") (" """)) (, ",") (string_literal ""ListThresholdMapFile"" (" """) (string_content "ListThresholdMapFile") (" """)) (, ",") (identifier "uVar6") (, ",") (number_literal "0x19a") (, ",") (identifier "pcVar7") (, ",") (identifier "pcVar8") () ")"))) (; ";"))) (expression_statement "DestroyXMLTree(iVar1);" (call_expression "DestroyXMLTree(iVar1)" (identifier "DestroyXMLTree") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

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

type_1 function_1(type_2 *var_3,char *var_1,char *filename,type_3 *exception)

{
  type_4 *var_6;
  type_4 *var_9;
  char *var_16;
  type_4 *var_13;
  char *var_15;
  char *var_12;
  size_t line;
  
  if (var_1 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"ListThresholdMapFile");
  }
  if (var_3 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"ListThresholdMapFile");
  }
  var_4(ConfigureEvent,"MagickCore/threshold.c","ListThresholdMapFile",0x6c2,
                 "Loading threshold map file \"%s\" ...",filename);
  var_6 = var_5(var_1,exception);
  if (var_6 != (type_4 *)0x0) {
    var_7(var_3,"%-16s %-12s %s\n","Map","Alias","Description");
    var_7(var_3,"----------------------------------------------------\n");
    var_9 = var_8(var_6,"threshold");
    while( true ) {
      if (var_9 == (type_4 *)0x0) {
        var_10(var_6);
        return MagickTrue;
      }
      var_12 = var_11(var_9,"map");
      if (var_12 == (char *)0x0) break;
      var_16 = var_11(var_9,"alias");
      var_13 = var_8(var_9,"description");
      if (var_13 == (type_4 *)0x0) {
        var_12 = "<description>, map \"%s\"";
        var_16 = "XmlMissingElement";
        line = 0x6da;
        goto LAB_001aea13;
      }
      var_15 = var_14(var_13);
      if (var_15 == (char *)0x0) {
        var_12 = "<description>, map \"%s\"";
        var_16 = "XmlMissingContent";
        line = 0x6e2;
        goto LAB_001aea13;
      }
      if (var_16 == (char *)0x0) {
        var_16 = "";
      }
      var_7(var_3,"%-16s %-12s %s\n",var_12,var_16,var_15);
      var_9 = var_17(var_9);
    }
    var_12 = "<map>";
    var_16 = "XmlMissingAttribute";
    line = 0x6d1;
LAB_001aea13:
    var_18
              (exception,"MagickCore/threshold.c","ListThresholdMapFile",line,OptionError,var_16,
               var_12);
    var_10(var_6);
  }
  return MagickFalse;
}


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

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

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

{
  int iVar1;
  int iVar2;
  undefined *puVar3;
  int iVar4;
  int iVar5;
  undefined4 uVar6;
  char *pcVar7;
  char *pcVar8;
  
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("xml != (char *) NULL","MagickCore/threshold.c",0x6c0,"MASKED");
  }
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("file != (FILE *) NULL","MagickCore/threshold.c",0x6c1,"MASKED");
  }
  LogMagickEvent(0x20,"MagickCore/threshold.c","MASKED",0x6c2,
                 "Loading threshold map file \"%s\" ...",param_3);
  iVar1 = NewXMLTree(param_2,param_4);
  if (iVar1 != 0) {
    FormatLocaleFile(param_1,"%-16s %-12s %s\n","Map","Alias","Description");
    FormatLocaleFile(param_1,"----------------------------------------------------\n");
    iVar2 = GetXMLTreeChild(iVar1,"threshold");
    while( true ) {
      if (iVar2 == 0) {
        DestroyXMLTree(iVar1);
        return 1;
      }
      iVar5 = GetXMLTreeAttribute(iVar2,&DAT_002be74f);
      if (iVar5 == 0) break;
      puVar3 = (undefined *)GetXMLTreeAttribute(iVar2,"alias");
      iVar4 = GetXMLTreeChild(iVar2,"description");
      if (iVar4 == 0) {
        pcVar8 = "<description>, map \"%s\"";
        pcVar7 = "XmlMissingElement";
        uVar6 = 0x6da;
        goto LAB_001aea13;
      }
      iVar4 = GetXMLTreeContent(iVar4);
      if (iVar4 == 0) {
        pcVar8 = "<description>, map \"%s\"";
        pcVar7 = "XmlMissingContent";
        uVar6 = 0x6e2;
        goto LAB_001aea13;
      }
      if (puVar3 == (undefined *)0x0) {
        puVar3 = &DAT_0030570a;
      }
      FormatLocaleFile(param_1,"%-16s %-12s %s\n",iVar5,puVar3,iVar4);
      iVar2 = GetNextXMLTreeTag(iVar2);
    }
    pcVar8 = "<map>";
    pcVar7 = "XmlMissingAttribute";
    uVar6 = 0x6d1;
LAB_001aea13:
    ThrowMagickException
              (param_4,"MagickCore/threshold.c","MASKED",uVar6,0x19a,pcVar7,pcVar8);
    DestroyXMLTree(iVar1);
  }
  return 0;
}

