
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

MagickBooleanType ListCoderInfo(FILE *file,ExceptionInfo *exception)

{
  char cVar1;
  CoderInfo *pCVar2;
  MagickBooleanType MVar3;
  int iVar4;
  CoderInfo **memory;
  ulong uVar5;
  long lVar6;
  char *pcVar7;
  long lVar8;
  long in_FS_OFFSET;
  byte bVar9;
  char *local_50;
  size_t number_coders;
  long local_40;
  
  bVar9 = 0;
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if (file == (FILE *)0x0) {
    file = *(FILE **)PTR_stdout_006dafe8;
  }
  memory = GetCoderInfoList("*",&number_coders,exception);
  MVar3 = MagickFalse;
  if (memory != (CoderInfo **)0x0) {
    if (0 < (long)number_coders) {
      lVar8 = 0;
      local_50 = (char *)0x0;
      do {
        pCVar2 = memory[lVar8];
        if (pCVar2->stealth == MagickFalse) {
          if (local_50 == (char *)0x0) {
LAB_00177cb2:
            if (pCVar2->path != (char *)0x0) {
              FormatLocaleFile(file,"\nPath: %s\n\n");
            }
            FormatLocaleFile(file,"Magick          Coder\n");
            FormatLocaleFile(file,
                             "-------------------------------------------------------------------------------\n"
                            );
          }
          else {
            iVar4 = LocaleCompare(local_50,pCVar2->path);
            if (iVar4 != 0) goto LAB_00177cb2;
          }
          local_50 = memory[lVar8]->path;
          FormatLocaleFile(file,"%s",memory[lVar8]->magick);
          uVar5 = 0xffffffffffffffff;
          pcVar7 = memory[lVar8]->magick;
          do {
            if (uVar5 == 0) break;
            uVar5 = uVar5 - 1;
            cVar1 = *pcVar7;
            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;
          } while (cVar1 != '\0');
          lVar6 = ~uVar5 - 1;
          if (lVar6 < 0x10) {
            do {
              FormatLocaleFile(file," ");
              lVar6 = lVar6 + 1;
            } while (lVar6 != 0x10);
          }
          if (memory[lVar8]->name != (char *)0x0) {
            FormatLocaleFile(file,"%s");
          }
          FormatLocaleFile(file,"\n");
        }
        lVar8 = lVar8 + 1;
      } while (lVar8 < (long)number_coders);
    }
    RelinquishMagickMemory(memory);
    fflush((FILE *)file);
    MVar3 = MagickTrue;
  }
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return MVar3;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}



undefined8 ListCoderInfo(FILE *param_1,undefined8 param_2)

{
  char cVar1;
  long *plVar2;
  int iVar3;
  long lVar4;
  undefined8 uVar5;
  ulong uVar6;
  long lVar7;
  char *pcVar8;
  long lVar9;
  long in_FS_OFFSET;
  byte bVar10;
  long local_50;
  long local_48;
  long local_40;
  
  bVar10 = 0;
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == (FILE *)0x0) {
    param_1 = *(FILE **)PTR_stdout_006dafe8;
  }
  lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);
  uVar5 = 0;
  if (lVar4 != 0) {
    if (0 < local_48) {
      lVar9 = 0;
      local_50 = 0;
      do {
        plVar2 = *(long **)(lVar4 + lVar9 * 8);
        if (*(int *)((long)plVar2 + 0x1c) == 0) {
          if (local_50 == 0) {
LAB_00177cb2:
            if (*plVar2 != 0) {
              FormatLocaleFile(param_1,"\nPath: %s\n\n");
            }
            FormatLocaleFile(param_1,"Magick          Coder\n");
            FormatLocaleFile(param_1,
                             "-------------------------------------------------------------------------------\n"
                            );
          }
          else {
            iVar3 = LocaleCompare(local_50,*plVar2);
            if (iVar3 != 0) goto LAB_00177cb2;
          }
          plVar2 = *(long **)(lVar4 + lVar9 * 8);
          local_50 = *plVar2;
          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);
          uVar6 = 0xffffffffffffffff;
          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);
          do {
            if (uVar6 == 0) break;
            uVar6 = uVar6 - 1;
            cVar1 = *pcVar8;
            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;
          } while (cVar1 != '\0');
          lVar7 = ~uVar6 - 1;
          if (lVar7 < 0x10) {
            do {
              FormatLocaleFile(param_1,&DAT_00437e38);
              lVar7 = lVar7 + 1;
            } while (lVar7 != 0x10);
          }
          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {
            FormatLocaleFile(param_1,&DAT_0041fe36);
          }
          FormatLocaleFile(param_1,"\n");
        }
        lVar9 = lVar9 + 1;
      } while (lVar9 < local_48);
    }
    RelinquishMagickMemory(lVar4);
    fflush(param_1);
    uVar5 = 1;
  }
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return uVar5;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x28
MOV RBP,RDI
MOV RDX,RSI
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x18],RAX
XOR EAX,EAX
TEST RDI,RDI
JZ 0x00177bac
LEA RSI,[RSP + 0x10]
LEA RDI,[0x422be9]
CALL 0x00149a30
MOV R13,RAX
MOV EAX,0x0
TEST R13,R13
JZ 0x00177cec
CMP qword ptr [RSP + 0x10],0x0
JLE 0x00177cd7
MOV R12D,0x0
MOV qword ptr [RSP + 0x8],0x0
LEA R14,[0x437e38]
JMP 0x00177c87
MOV RAX,qword ptr [0x006dafe8]
MOV RBP,qword ptr [RAX]
JMP 0x00177b63
LEA RSI,[0x3fd599]
MOV RDI,RBP
MOV EAX,0x0
CALL 0x0014ae20
LEA RSI,[0x3fd8b8]
MOV RDI,RBP
MOV EAX,0x0
CALL 0x0014ae20
MOV RAX,qword ptr [R13 + R15*0x8]
MOV RDX,qword ptr [RAX]
MOV qword ptr [RSP + 0x8],RDX
MOV RDX,qword ptr [RAX + 0x8]
LEA RSI,[0x41fe36]
MOV RDI,RBP
MOV EAX,0x0
CALL 0x0014ae20
MOV RAX,qword ptr [R13 + R15*0x8]
MOV RDI,qword ptr [RAX + 0x8]
MOV EAX,0x0
MOV RCX,-0x1
SCASB.REPNE RDI
NOT RCX
SUB RCX,0x1
MOV RBX,RCX
CMP RCX,0xf
JG 0x00177c46
MOV RSI,R14
MOV RDI,RBP
MOV EAX,0x0
CALL 0x0014ae20
ADD RBX,0x1
CMP RBX,0x10
JNZ 0x00177c2c
MOV RAX,qword ptr [R13 + R15*0x8]
MOV RDX,qword ptr [RAX + 0x10]
TEST RDX,RDX
JZ 0x00177c68
LEA RSI,[0x41fe36]
MOV RDI,RBP
MOV EAX,0x0
CALL 0x0014ae20
LEA RSI,[0x432016]
MOV RDI,RBP
MOV EAX,0x0
CALL 0x0014ae20
ADD R12,0x1
CMP qword ptr [RSP + 0x10],R12
JLE 0x00177cd7
MOV R15,R12
MOV RBX,qword ptr [R13 + R12*0x8]
CMP dword ptr [RBX + 0x1c],0x0
JNZ 0x00177c7c
MOV RAX,qword ptr [RSP + 0x8]
TEST RAX,RAX
JZ 0x00177cb2
MOV RSI,qword ptr [RBX]
MOV RDI,RAX
CALL 0x0014c220
TEST EAX,EAX
JZ 0x00177be0
MOV RDX,qword ptr [RBX]
TEST RDX,RDX
JZ 0x00177bb8
LEA RSI,[0x3fd58d]
MOV RDI,RBP
MOV EAX,0x0
CALL 0x0014ae20
JMP 0x00177bb8
MOV RDI,R13
CALL 0x0014dad8
MOV RDI,RBP
CALL 0x0014d9b0
MOV EAX,0x1
MOV RCX,qword ptr [RSP + 0x18]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x00177d0b
ADD RSP,0x28
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CALL 0x0014c5c0
(translation_unit "undefined8 ListCoderInfo(FILE *param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  long *plVar2;\n  int iVar3;\n  long lVar4;\n  undefined8 uVar5;\n  ulong uVar6;\n  long lVar7;\n  char *pcVar8;\n  long lVar9;\n  long in_FS_OFFSET;\n  byte bVar10;\n  long local_50;\n  long local_48;\n  long local_40;\n  \n  bVar10 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (FILE *)0x0) {\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }\n  lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);\n  uVar5 = 0;\n  if (lVar4 != 0) {\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar5;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" (function_definition "undefined8 ListCoderInfo(FILE *param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  long *plVar2;\n  int iVar3;\n  long lVar4;\n  undefined8 uVar5;\n  ulong uVar6;\n  long lVar7;\n  char *pcVar8;\n  long lVar9;\n  long in_FS_OFFSET;\n  byte bVar10;\n  long local_50;\n  long local_48;\n  long local_40;\n  \n  bVar10 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (FILE *)0x0) {\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }\n  lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);\n  uVar5 = 0;\n  if (lVar4 != 0) {\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar5;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" type_identifier (function_declarator "ListCoderInfo(FILE *param_1,undefined8 param_2)" identifier (parameter_list "(FILE *param_1,undefined8 param_2)" ( (parameter_declaration "FILE *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  long *plVar2;\n  int iVar3;\n  long lVar4;\n  undefined8 uVar5;\n  ulong uVar6;\n  long lVar7;\n  char *pcVar8;\n  long lVar9;\n  long in_FS_OFFSET;\n  byte bVar10;\n  long local_50;\n  long local_48;\n  long local_40;\n  \n  bVar10 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (FILE *)0x0) {\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }\n  lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);\n  uVar5 = 0;\n  if (lVar4 != 0) {\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar5;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "long *plVar2;" (sized_type_specifier "long" long) (pointer_declarator "*plVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "long local_50;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_48;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" identifier = number_literal) ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (FILE *)0x0) {\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }" if (parenthesized_expression "(param_1 == (FILE *)0x0)" ( (binary_expression "param_1 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }" { (expression_statement "param_1 = *(FILE **)PTR_stdout_006dafe8;" (assignment_expression "param_1 = *(FILE **)PTR_stdout_006dafe8" identifier = (pointer_expression "*(FILE **)PTR_stdout_006dafe8" * (cast_expression "(FILE **)PTR_stdout_006dafe8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (expression_statement "lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);" (assignment_expression "lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2)" identifier = (call_expression "GetCoderInfoList(&DAT_00422be9,&local_48,param_2)" identifier (argument_list "(&DAT_00422be9,&local_48,param_2)" ( (pointer_expression "&DAT_00422be9" & identifier) , (pointer_expression "&local_48" & identifier) , identifier )))) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (if_statement "if (lVar4 != 0) {\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }" if (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }" { (if_statement "if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }" if (parenthesized_expression "(0 < local_48)" ( (binary_expression "0 < local_48" number_literal < identifier) )) (compound_statement "{\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }" { (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (do_statement "do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);" do (compound_statement "{\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      }" { (expression_statement "plVar2 = *(long **)(lVar4 + lVar9 * 8);" (assignment_expression "plVar2 = *(long **)(lVar4 + lVar9 * 8)" identifier = (pointer_expression "*(long **)(lVar4 + lVar9 * 8)" * (cast_expression "(long **)(lVar4 + lVar9 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar4 + lVar9 * 8)" ( (binary_expression "lVar4 + lVar9 * 8" identifier + (binary_expression "lVar9 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }" if (parenthesized_expression "(*(int *)((long)plVar2 + 0x1c) == 0)" ( (binary_expression "*(int *)((long)plVar2 + 0x1c) == 0" (pointer_expression "*(int *)((long)plVar2 + 0x1c)" * (cast_expression "(int *)((long)plVar2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar2 + 0x1c)" ( (binary_expression "(long)plVar2 + 0x1c" (cast_expression "(long)plVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }" { (if_statement "if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }" if (parenthesized_expression "(local_50 == 0)" ( (binary_expression "local_50 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }" { (labeled_statement "LAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }" statement_identifier : (if_statement "if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }" if (parenthesized_expression "(*plVar2 != 0)" ( (binary_expression "*plVar2 != 0" (pointer_expression "*plVar2" * identifier) != number_literal) )) (compound_statement "{\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }" { (expression_statement "FormatLocaleFile(param_1,"\nPath: %s\n\n");" (call_expression "FormatLocaleFile(param_1,"\nPath: %s\n\n")" identifier (argument_list "(param_1,"\nPath: %s\n\n")" ( identifier , (string_literal ""\nPath: %s\n\n"" " escape_sequence string_content escape_sequence escape_sequence ") ))) ;) }))) (expression_statement "FormatLocaleFile(param_1,"Magick          Coder\n");" (call_expression "FormatLocaleFile(param_1,"Magick          Coder\n")" identifier (argument_list "(param_1,"Magick          Coder\n")" ( identifier , (string_literal ""Magick          Coder\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );" (call_expression "FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            )" identifier (argument_list "(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            )" ( identifier , (string_literal ""-------------------------------------------------------------------------------\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }" else (compound_statement "{\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }" { (expression_statement "iVar3 = LocaleCompare(local_50,*plVar2);" (assignment_expression "iVar3 = LocaleCompare(local_50,*plVar2)" identifier = (call_expression "LocaleCompare(local_50,*plVar2)" identifier (argument_list "(local_50,*plVar2)" ( identifier , (pointer_expression "*plVar2" * identifier) )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00177cb2;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00177cb2;" goto statement_identifier ;)) }))) (expression_statement "plVar2 = *(long **)(lVar4 + lVar9 * 8);" (assignment_expression "plVar2 = *(long **)(lVar4 + lVar9 * 8)" identifier = (pointer_expression "*(long **)(lVar4 + lVar9 * 8)" * (cast_expression "(long **)(lVar4 + lVar9 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar4 + lVar9 * 8)" ( (binary_expression "lVar4 + lVar9 * 8" identifier + (binary_expression "lVar9 * 8" identifier * number_literal)) ))))) ;) (expression_statement "local_50 = *plVar2;" (assignment_expression "local_50 = *plVar2" identifier = (pointer_expression "*plVar2" * identifier)) ;) (expression_statement "FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);" (call_expression "FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1])" identifier (argument_list "(param_1,&DAT_0041fe36,plVar2[1])" ( identifier , (pointer_expression "&DAT_0041fe36" & identifier) , (subscript_expression "plVar2[1]" identifier [ number_literal ]) ))) ;) (expression_statement "uVar6 = 0xffffffffffffffff;" (assignment_expression "uVar6 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);" (assignment_expression "pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8)" identifier = (pointer_expression "*(char **)(*(long *)(lVar4 + lVar9 * 8) + 8)" * (cast_expression "(char **)(*(long *)(lVar4 + lVar9 * 8) + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(lVar4 + lVar9 * 8) + 8)" ( (binary_expression "*(long *)(lVar4 + lVar9 * 8) + 8" (pointer_expression "*(long *)(lVar4 + lVar9 * 8)" * (cast_expression "(long *)(lVar4 + lVar9 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + lVar9 * 8)" ( (binary_expression "lVar4 + lVar9 * 8" identifier + (binary_expression "lVar9 * 8" identifier * number_literal)) )))) + number_literal) ))))) ;) (do_statement "do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');" do (compound_statement "{\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          }" { (if_statement "if (uVar6 == 0) break;" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar6 = uVar6 - 1;" (assignment_expression "uVar6 = uVar6 - 1" identifier = (binary_expression "uVar6 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar8;" (assignment_expression "cVar1 = *pcVar8" identifier = (pointer_expression "*pcVar8" * identifier)) ;) (expression_statement "pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1" identifier = (binary_expression "pcVar8 + (ulong)bVar10 * -2 + 1" (binary_expression "pcVar8 + (ulong)bVar10 * -2" identifier + (binary_expression "(ulong)bVar10 * -2" (cast_expression "(ulong)bVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "lVar7 = ~uVar6 - 1;" (assignment_expression "lVar7 = ~uVar6 - 1" identifier = (binary_expression "~uVar6 - 1" (unary_expression "~uVar6" ~ identifier) - number_literal)) ;) (if_statement "if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }" if (parenthesized_expression "(lVar7 < 0x10)" ( (binary_expression "lVar7 < 0x10" identifier < number_literal) )) (compound_statement "{\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }" { (do_statement "do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);" do (compound_statement "{\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            }" { (expression_statement "FormatLocaleFile(param_1,&DAT_00437e38);" (call_expression "FormatLocaleFile(param_1,&DAT_00437e38)" identifier (argument_list "(param_1,&DAT_00437e38)" ( identifier , (pointer_expression "&DAT_00437e38" & identifier) ))) ;) (expression_statement "lVar7 = lVar7 + 1;" (assignment_expression "lVar7 = lVar7 + 1" identifier = (binary_expression "lVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar7 != 0x10)" ( (binary_expression "lVar7 != 0x10" identifier != number_literal) )) ;) })) (if_statement "if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }" if (parenthesized_expression "(*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0)" ( (binary_expression "*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0" (pointer_expression "*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10)" * (cast_expression "(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar4 + lVar9 * 8) + 0x10)" ( (binary_expression "*(long *)(lVar4 + lVar9 * 8) + 0x10" (pointer_expression "*(long *)(lVar4 + lVar9 * 8)" * (cast_expression "(long *)(lVar4 + lVar9 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + lVar9 * 8)" ( (binary_expression "lVar4 + lVar9 * 8" identifier + (binary_expression "lVar9 * 8" identifier * number_literal)) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }" { (expression_statement "FormatLocaleFile(param_1,&DAT_0041fe36);" (call_expression "FormatLocaleFile(param_1,&DAT_0041fe36)" identifier (argument_list "(param_1,&DAT_0041fe36)" ( identifier , (pointer_expression "&DAT_0041fe36" & identifier) ))) ;) })) (expression_statement "FormatLocaleFile(param_1,"\n");" (call_expression "FormatLocaleFile(param_1,"\n")" identifier (argument_list "(param_1,"\n")" ( identifier , (string_literal ""\n"" " escape_sequence ") ))) ;) })) (expression_statement "lVar9 = lVar9 + 1;" (assignment_expression "lVar9 = lVar9 + 1" identifier = (binary_expression "lVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar9 < local_48)" ( (binary_expression "lVar9 < local_48" identifier < identifier) )) ;) })) (expression_statement "RelinquishMagickMemory(lVar4);" (call_expression "RelinquishMagickMemory(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "fflush(param_1);" (call_expression "fflush(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) })) (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar5;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar5;\n  }" { (return_statement "return uVar5;" return identifier ;) })) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nMagickBooleanType ListCoderInfo(FILE *file,ExceptionInfo *exception)\n\n{\n  char cVar1;\n  CoderInfo *pCVar2;\n  MagickBooleanType MVar3;\n  int iVar4;\n  CoderInfo **memory;\n  ulong uVar5;\n  long lVar6;\n  char *pcVar7;\n  long lVar8;\n  long in_FS_OFFSET;\n  byte bVar9;\n  char *local_50;\n  size_t number_coders;\n  long local_40;\n  \n  bVar9 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (file == (FILE *)0x0) {\n    file = *(FILE **)PTR_stdout_006dafe8;\n  }\n  memory = GetCoderInfoList("*",&number_coders,exception);\n  MVar3 = MagickFalse;\n  if (memory != (CoderInfo **)0x0) {\n    if (0 < (long)number_coders) {\n      lVar8 = 0;\n      local_50 = (char *)0x0;\n      do {\n        pCVar2 = memory[lVar8];\n        if (pCVar2->stealth == MagickFalse) {\n          if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }\n          local_50 = memory[lVar8]->path;\n          FormatLocaleFile(file,"%s",memory[lVar8]->magick);\n          uVar5 = 0xffffffffffffffff;\n          pcVar7 = memory[lVar8]->magick;\n          do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar6 = ~uVar5 - 1;\n          if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }\n          if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }\n          FormatLocaleFile(file,"\n");\n        }\n        lVar8 = lVar8 + 1;\n      } while (lVar8 < (long)number_coders);\n    }\n    RelinquishMagickMemory(memory);\n    fflush((FILE *)file);\n    MVar3 = MagickTrue;\n  }\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return MVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" comment (function_definition "MagickBooleanType ListCoderInfo(FILE *file,ExceptionInfo *exception)\n\n{\n  char cVar1;\n  CoderInfo *pCVar2;\n  MagickBooleanType MVar3;\n  int iVar4;\n  CoderInfo **memory;\n  ulong uVar5;\n  long lVar6;\n  char *pcVar7;\n  long lVar8;\n  long in_FS_OFFSET;\n  byte bVar9;\n  char *local_50;\n  size_t number_coders;\n  long local_40;\n  \n  bVar9 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (file == (FILE *)0x0) {\n    file = *(FILE **)PTR_stdout_006dafe8;\n  }\n  memory = GetCoderInfoList("*",&number_coders,exception);\n  MVar3 = MagickFalse;\n  if (memory != (CoderInfo **)0x0) {\n    if (0 < (long)number_coders) {\n      lVar8 = 0;\n      local_50 = (char *)0x0;\n      do {\n        pCVar2 = memory[lVar8];\n        if (pCVar2->stealth == MagickFalse) {\n          if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }\n          local_50 = memory[lVar8]->path;\n          FormatLocaleFile(file,"%s",memory[lVar8]->magick);\n          uVar5 = 0xffffffffffffffff;\n          pcVar7 = memory[lVar8]->magick;\n          do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar6 = ~uVar5 - 1;\n          if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }\n          if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }\n          FormatLocaleFile(file,"\n");\n        }\n        lVar8 = lVar8 + 1;\n      } while (lVar8 < (long)number_coders);\n    }\n    RelinquishMagickMemory(memory);\n    fflush((FILE *)file);\n    MVar3 = MagickTrue;\n  }\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return MVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" type_identifier (function_declarator "ListCoderInfo(FILE *file,ExceptionInfo *exception)" identifier (parameter_list "(FILE *file,ExceptionInfo *exception)" ( (parameter_declaration "FILE *file" type_identifier (pointer_declarator "*file" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  CoderInfo *pCVar2;\n  MagickBooleanType MVar3;\n  int iVar4;\n  CoderInfo **memory;\n  ulong uVar5;\n  long lVar6;\n  char *pcVar7;\n  long lVar8;\n  long in_FS_OFFSET;\n  byte bVar9;\n  char *local_50;\n  size_t number_coders;\n  long local_40;\n  \n  bVar9 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (file == (FILE *)0x0) {\n    file = *(FILE **)PTR_stdout_006dafe8;\n  }\n  memory = GetCoderInfoList("*",&number_coders,exception);\n  MVar3 = MagickFalse;\n  if (memory != (CoderInfo **)0x0) {\n    if (0 < (long)number_coders) {\n      lVar8 = 0;\n      local_50 = (char *)0x0;\n      do {\n        pCVar2 = memory[lVar8];\n        if (pCVar2->stealth == MagickFalse) {\n          if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }\n          local_50 = memory[lVar8]->path;\n          FormatLocaleFile(file,"%s",memory[lVar8]->magick);\n          uVar5 = 0xffffffffffffffff;\n          pcVar7 = memory[lVar8]->magick;\n          do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar6 = ~uVar5 - 1;\n          if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }\n          if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }\n          FormatLocaleFile(file,"\n");\n        }\n        lVar8 = lVar8 + 1;\n      } while (lVar8 < (long)number_coders);\n    }\n    RelinquishMagickMemory(memory);\n    fflush((FILE *)file);\n    MVar3 = MagickTrue;\n  }\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return MVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "CoderInfo *pCVar2;" type_identifier (pointer_declarator "*pCVar2" * identifier) ;) (declaration "MagickBooleanType MVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "CoderInfo **memory;" type_identifier (pointer_declarator "**memory" * (pointer_declarator "*memory" * identifier)) ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "char *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "size_t number_coders;" primitive_type identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" identifier = number_literal) ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (file == (FILE *)0x0) {\n    file = *(FILE **)PTR_stdout_006dafe8;\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    file = *(FILE **)PTR_stdout_006dafe8;\n  }" { (expression_statement "file = *(FILE **)PTR_stdout_006dafe8;" (assignment_expression "file = *(FILE **)PTR_stdout_006dafe8" identifier = (pointer_expression "*(FILE **)PTR_stdout_006dafe8" * (cast_expression "(FILE **)PTR_stdout_006dafe8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (expression_statement "memory = GetCoderInfoList("*",&number_coders,exception);" (assignment_expression "memory = GetCoderInfoList("*",&number_coders,exception)" identifier = (call_expression "GetCoderInfoList("*",&number_coders,exception)" identifier (argument_list "("*",&number_coders,exception)" ( (string_literal ""*"" " string_content ") , (pointer_expression "&number_coders" & identifier) , identifier )))) ;) (expression_statement "MVar3 = MagickFalse;" (assignment_expression "MVar3 = MagickFalse" identifier = identifier) ;) (if_statement "if (memory != (CoderInfo **)0x0) {\n    if (0 < (long)number_coders) {\n      lVar8 = 0;\n      local_50 = (char *)0x0;\n      do {\n        pCVar2 = memory[lVar8];\n        if (pCVar2->stealth == MagickFalse) {\n          if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }\n          local_50 = memory[lVar8]->path;\n          FormatLocaleFile(file,"%s",memory[lVar8]->magick);\n          uVar5 = 0xffffffffffffffff;\n          pcVar7 = memory[lVar8]->magick;\n          do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar6 = ~uVar5 - 1;\n          if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }\n          if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }\n          FormatLocaleFile(file,"\n");\n        }\n        lVar8 = lVar8 + 1;\n      } while (lVar8 < (long)number_coders);\n    }\n    RelinquishMagickMemory(memory);\n    fflush((FILE *)file);\n    MVar3 = MagickTrue;\n  }" if (parenthesized_expression "(memory != (CoderInfo **)0x0)" ( (binary_expression "memory != (CoderInfo **)0x0" identifier != (cast_expression "(CoderInfo **)0x0" ( (type_descriptor "CoderInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    if (0 < (long)number_coders) {\n      lVar8 = 0;\n      local_50 = (char *)0x0;\n      do {\n        pCVar2 = memory[lVar8];\n        if (pCVar2->stealth == MagickFalse) {\n          if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }\n          local_50 = memory[lVar8]->path;\n          FormatLocaleFile(file,"%s",memory[lVar8]->magick);\n          uVar5 = 0xffffffffffffffff;\n          pcVar7 = memory[lVar8]->magick;\n          do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar6 = ~uVar5 - 1;\n          if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }\n          if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }\n          FormatLocaleFile(file,"\n");\n        }\n        lVar8 = lVar8 + 1;\n      } while (lVar8 < (long)number_coders);\n    }\n    RelinquishMagickMemory(memory);\n    fflush((FILE *)file);\n    MVar3 = MagickTrue;\n  }" { (if_statement "if (0 < (long)number_coders) {\n      lVar8 = 0;\n      local_50 = (char *)0x0;\n      do {\n        pCVar2 = memory[lVar8];\n        if (pCVar2->stealth == MagickFalse) {\n          if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }\n          local_50 = memory[lVar8]->path;\n          FormatLocaleFile(file,"%s",memory[lVar8]->magick);\n          uVar5 = 0xffffffffffffffff;\n          pcVar7 = memory[lVar8]->magick;\n          do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar6 = ~uVar5 - 1;\n          if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }\n          if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }\n          FormatLocaleFile(file,"\n");\n        }\n        lVar8 = lVar8 + 1;\n      } while (lVar8 < (long)number_coders);\n    }" if (parenthesized_expression "(0 < (long)number_coders)" ( (binary_expression "0 < (long)number_coders" number_literal < (cast_expression "(long)number_coders" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n      lVar8 = 0;\n      local_50 = (char *)0x0;\n      do {\n        pCVar2 = memory[lVar8];\n        if (pCVar2->stealth == MagickFalse) {\n          if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }\n          local_50 = memory[lVar8]->path;\n          FormatLocaleFile(file,"%s",memory[lVar8]->magick);\n          uVar5 = 0xffffffffffffffff;\n          pcVar7 = memory[lVar8]->magick;\n          do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar6 = ~uVar5 - 1;\n          if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }\n          if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }\n          FormatLocaleFile(file,"\n");\n        }\n        lVar8 = lVar8 + 1;\n      } while (lVar8 < (long)number_coders);\n    }" { (expression_statement "lVar8 = 0;" (assignment_expression "lVar8 = 0" identifier = number_literal) ;) (expression_statement "local_50 = (char *)0x0;" (assignment_expression "local_50 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        pCVar2 = memory[lVar8];\n        if (pCVar2->stealth == MagickFalse) {\n          if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }\n          local_50 = memory[lVar8]->path;\n          FormatLocaleFile(file,"%s",memory[lVar8]->magick);\n          uVar5 = 0xffffffffffffffff;\n          pcVar7 = memory[lVar8]->magick;\n          do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar6 = ~uVar5 - 1;\n          if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }\n          if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }\n          FormatLocaleFile(file,"\n");\n        }\n        lVar8 = lVar8 + 1;\n      } while (lVar8 < (long)number_coders);" do (compound_statement "{\n        pCVar2 = memory[lVar8];\n        if (pCVar2->stealth == MagickFalse) {\n          if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }\n          local_50 = memory[lVar8]->path;\n          FormatLocaleFile(file,"%s",memory[lVar8]->magick);\n          uVar5 = 0xffffffffffffffff;\n          pcVar7 = memory[lVar8]->magick;\n          do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar6 = ~uVar5 - 1;\n          if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }\n          if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }\n          FormatLocaleFile(file,"\n");\n        }\n        lVar8 = lVar8 + 1;\n      }" { (expression_statement "pCVar2 = memory[lVar8];" (assignment_expression "pCVar2 = memory[lVar8]" identifier = (subscript_expression "memory[lVar8]" identifier [ identifier ])) ;) (if_statement "if (pCVar2->stealth == MagickFalse) {\n          if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }\n          local_50 = memory[lVar8]->path;\n          FormatLocaleFile(file,"%s",memory[lVar8]->magick);\n          uVar5 = 0xffffffffffffffff;\n          pcVar7 = memory[lVar8]->magick;\n          do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar6 = ~uVar5 - 1;\n          if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }\n          if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }\n          FormatLocaleFile(file,"\n");\n        }" if (parenthesized_expression "(pCVar2->stealth == MagickFalse)" ( (binary_expression "pCVar2->stealth == MagickFalse" (field_expression "pCVar2->stealth" identifier -> field_identifier) == identifier) )) (compound_statement "{\n          if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }\n          local_50 = memory[lVar8]->path;\n          FormatLocaleFile(file,"%s",memory[lVar8]->magick);\n          uVar5 = 0xffffffffffffffff;\n          pcVar7 = memory[lVar8]->magick;\n          do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar6 = ~uVar5 - 1;\n          if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }\n          if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }\n          FormatLocaleFile(file,"\n");\n        }" { (if_statement "if (local_50 == (char *)0x0) {\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }" if (parenthesized_expression "(local_50 == (char *)0x0)" ( (binary_expression "local_50 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(file,"Magick          Coder\n");\n            FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }" { (labeled_statement "LAB_00177cb2:\n            if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }" statement_identifier : (if_statement "if (pCVar2->path != (char *)0x0) {\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }" if (parenthesized_expression "(pCVar2->path != (char *)0x0)" ( (binary_expression "pCVar2->path != (char *)0x0" (field_expression "pCVar2->path" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              FormatLocaleFile(file,"\nPath: %s\n\n");\n            }" { (expression_statement "FormatLocaleFile(file,"\nPath: %s\n\n");" (call_expression "FormatLocaleFile(file,"\nPath: %s\n\n")" identifier (argument_list "(file,"\nPath: %s\n\n")" ( identifier , (string_literal ""\nPath: %s\n\n"" " escape_sequence string_content escape_sequence escape_sequence ") ))) ;) }))) (expression_statement "FormatLocaleFile(file,"Magick          Coder\n");" (call_expression "FormatLocaleFile(file,"Magick          Coder\n")" identifier (argument_list "(file,"Magick          Coder\n")" ( identifier , (string_literal ""Magick          Coder\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            );" (call_expression "FormatLocaleFile(file,\n                             "-------------------------------------------------------------------------------\n"\n                            )" identifier (argument_list "(file,\n                             "-------------------------------------------------------------------------------\n"\n                            )" ( identifier , (string_literal ""-------------------------------------------------------------------------------\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }" else (compound_statement "{\n            iVar4 = LocaleCompare(local_50,pCVar2->path);\n            if (iVar4 != 0) goto LAB_00177cb2;\n          }" { (expression_statement "iVar4 = LocaleCompare(local_50,pCVar2->path);" (assignment_expression "iVar4 = LocaleCompare(local_50,pCVar2->path)" identifier = (call_expression "LocaleCompare(local_50,pCVar2->path)" identifier (argument_list "(local_50,pCVar2->path)" ( identifier , (field_expression "pCVar2->path" identifier -> field_identifier) )))) ;) (if_statement "if (iVar4 != 0) goto LAB_00177cb2;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00177cb2;" goto statement_identifier ;)) }))) (expression_statement "local_50 = memory[lVar8]->path;" (assignment_expression "local_50 = memory[lVar8]->path" identifier = (field_expression "memory[lVar8]->path" (subscript_expression "memory[lVar8]" identifier [ identifier ]) -> field_identifier)) ;) (expression_statement "FormatLocaleFile(file,"%s",memory[lVar8]->magick);" (call_expression "FormatLocaleFile(file,"%s",memory[lVar8]->magick)" identifier (argument_list "(file,"%s",memory[lVar8]->magick)" ( identifier , (string_literal ""%s"" " string_content ") , (field_expression "memory[lVar8]->magick" (subscript_expression "memory[lVar8]" identifier [ identifier ]) -> field_identifier) ))) ;) (expression_statement "uVar5 = 0xffffffffffffffff;" (assignment_expression "uVar5 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "pcVar7 = memory[lVar8]->magick;" (assignment_expression "pcVar7 = memory[lVar8]->magick" identifier = (field_expression "memory[lVar8]->magick" (subscript_expression "memory[lVar8]" identifier [ identifier ]) -> field_identifier)) ;) (do_statement "do {\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          } while (cVar1 != '\0');" do (compound_statement "{\n            if (uVar5 == 0) break;\n            uVar5 = uVar5 - 1;\n            cVar1 = *pcVar7;\n            pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;\n          }" { (if_statement "if (uVar5 == 0) break;" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar5 = uVar5 - 1;" (assignment_expression "uVar5 = uVar5 - 1" identifier = (binary_expression "uVar5 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar7;" (assignment_expression "cVar1 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (expression_statement "pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1;" (assignment_expression "pcVar7 = pcVar7 + (ulong)bVar9 * -2 + 1" identifier = (binary_expression "pcVar7 + (ulong)bVar9 * -2 + 1" (binary_expression "pcVar7 + (ulong)bVar9 * -2" identifier + (binary_expression "(ulong)bVar9 * -2" (cast_expression "(ulong)bVar9" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "lVar6 = ~uVar5 - 1;" (assignment_expression "lVar6 = ~uVar5 - 1" identifier = (binary_expression "~uVar5 - 1" (unary_expression "~uVar5" ~ identifier) - number_literal)) ;) (if_statement "if (lVar6 < 0x10) {\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }" if (parenthesized_expression "(lVar6 < 0x10)" ( (binary_expression "lVar6 < 0x10" identifier < number_literal) )) (compound_statement "{\n            do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);\n          }" { (do_statement "do {\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            } while (lVar6 != 0x10);" do (compound_statement "{\n              FormatLocaleFile(file," ");\n              lVar6 = lVar6 + 1;\n            }" { (expression_statement "FormatLocaleFile(file," ");" (call_expression "FormatLocaleFile(file," ")" identifier (argument_list "(file," ")" ( identifier , (string_literal "" "" " string_content ") ))) ;) (expression_statement "lVar6 = lVar6 + 1;" (assignment_expression "lVar6 = lVar6 + 1" identifier = (binary_expression "lVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar6 != 0x10)" ( (binary_expression "lVar6 != 0x10" identifier != number_literal) )) ;) })) (if_statement "if (memory[lVar8]->name != (char *)0x0) {\n            FormatLocaleFile(file,"%s");\n          }" if (parenthesized_expression "(memory[lVar8]->name != (char *)0x0)" ( (binary_expression "memory[lVar8]->name != (char *)0x0" (field_expression "memory[lVar8]->name" (subscript_expression "memory[lVar8]" identifier [ identifier ]) -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            FormatLocaleFile(file,"%s");\n          }" { (expression_statement "FormatLocaleFile(file,"%s");" (call_expression "FormatLocaleFile(file,"%s")" identifier (argument_list "(file,"%s")" ( identifier , (string_literal ""%s"" " string_content ") ))) ;) })) (expression_statement "FormatLocaleFile(file,"\n");" (call_expression "FormatLocaleFile(file,"\n")" identifier (argument_list "(file,"\n")" ( identifier , (string_literal ""\n"" " escape_sequence ") ))) ;) })) (expression_statement "lVar8 = lVar8 + 1;" (assignment_expression "lVar8 = lVar8 + 1" identifier = (binary_expression "lVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar8 < (long)number_coders)" ( (binary_expression "lVar8 < (long)number_coders" identifier < (cast_expression "(long)number_coders" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) ;) })) (expression_statement "RelinquishMagickMemory(memory);" (call_expression "RelinquishMagickMemory(memory)" identifier (argument_list "(memory)" ( identifier ))) ;) (expression_statement "fflush((FILE *)file);" (call_expression "fflush((FILE *)file)" identifier (argument_list "((FILE *)file)" ( (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "MVar3 = MagickTrue;" (assignment_expression "MVar3 = MagickTrue" identifier = identifier) ;) })) (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return MVar3;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return MVar3;\n  }" { (return_statement "return MVar3;" return identifier ;) })) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "undefined8 ListCoderInfo(FILE *param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  long *plVar2;\n  int iVar3;\n  long lVar4;\n  undefined8 uVar5;\n  ulong uVar6;\n  long lVar7;\n  char *pcVar8;\n  long lVar9;\n  long in_FS_OFFSET;\n  byte bVar10;\n  long local_50;\n  long local_48;\n  long local_40;\n  \n  bVar10 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (FILE *)0x0) {\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }\n  lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);\n  uVar5 = 0;\n  if (lVar4 != 0) {\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar5;\n  }\n                    \n  __stack_chk_fail();\n}\n\n" (function_definition "undefined8 ListCoderInfo(FILE *param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  long *plVar2;\n  int iVar3;\n  long lVar4;\n  undefined8 uVar5;\n  ulong uVar6;\n  long lVar7;\n  char *pcVar8;\n  long lVar9;\n  long in_FS_OFFSET;\n  byte bVar10;\n  long local_50;\n  long local_48;\n  long local_40;\n  \n  bVar10 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (FILE *)0x0) {\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }\n  lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);\n  uVar5 = 0;\n  if (lVar4 != 0) {\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar5;\n  }\n                    \n  __stack_chk_fail();\n}" type_identifier (function_declarator "ListCoderInfo(FILE *param_1,undefined8 param_2)" identifier (parameter_list "(FILE *param_1,undefined8 param_2)" ( (parameter_declaration "FILE *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  long *plVar2;\n  int iVar3;\n  long lVar4;\n  undefined8 uVar5;\n  ulong uVar6;\n  long lVar7;\n  char *pcVar8;\n  long lVar9;\n  long in_FS_OFFSET;\n  byte bVar10;\n  long local_50;\n  long local_48;\n  long local_40;\n  \n  bVar10 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (FILE *)0x0) {\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }\n  lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);\n  uVar5 = 0;\n  if (lVar4 != 0) {\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar5;\n  }\n                    \n  __stack_chk_fail();\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "long *plVar2;" (sized_type_specifier "long" long) (pointer_declarator "*plVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "long local_50;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_48;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" identifier = number_literal) ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (FILE *)0x0) {\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }" if (parenthesized_expression "(param_1 == (FILE *)0x0)" ( (binary_expression "param_1 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }" { (expression_statement "param_1 = *(FILE **)PTR_stdout_006dafe8;" (assignment_expression "param_1 = *(FILE **)PTR_stdout_006dafe8" identifier = (pointer_expression "*(FILE **)PTR_stdout_006dafe8" * (cast_expression "(FILE **)PTR_stdout_006dafe8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (expression_statement "lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);" (assignment_expression "lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2)" identifier = (call_expression "GetCoderInfoList(&DAT_00422be9,&local_48,param_2)" identifier (argument_list "(&DAT_00422be9,&local_48,param_2)" ( (pointer_expression "&DAT_00422be9" & identifier) , (pointer_expression "&local_48" & identifier) , identifier )))) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (if_statement "if (lVar4 != 0) {\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }" if (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }" { (if_statement "if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }" if (parenthesized_expression "(0 < local_48)" ( (binary_expression "0 < local_48" number_literal < identifier) )) (compound_statement "{\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }" { (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (do_statement "do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);" do (compound_statement "{\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      }" { (expression_statement "plVar2 = *(long **)(lVar4 + lVar9 * 8);" (assignment_expression "plVar2 = *(long **)(lVar4 + lVar9 * 8)" identifier = (pointer_expression "*(long **)(lVar4 + lVar9 * 8)" * (cast_expression "(long **)(lVar4 + lVar9 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar4 + lVar9 * 8)" ( (binary_expression "lVar4 + lVar9 * 8" identifier + (binary_expression "lVar9 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }" if (parenthesized_expression "(*(int *)((long)plVar2 + 0x1c) == 0)" ( (binary_expression "*(int *)((long)plVar2 + 0x1c) == 0" (pointer_expression "*(int *)((long)plVar2 + 0x1c)" * (cast_expression "(int *)((long)plVar2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar2 + 0x1c)" ( (binary_expression "(long)plVar2 + 0x1c" (cast_expression "(long)plVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }" { (if_statement "if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }" if (parenthesized_expression "(local_50 == 0)" ( (binary_expression "local_50 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }" { (labeled_statement "LAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }" statement_identifier : (if_statement "if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }" if (parenthesized_expression "(*plVar2 != 0)" ( (binary_expression "*plVar2 != 0" (pointer_expression "*plVar2" * identifier) != number_literal) )) (compound_statement "{\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }" { (expression_statement "FormatLocaleFile(param_1,"\nPath: %s\n\n");" (call_expression "FormatLocaleFile(param_1,"\nPath: %s\n\n")" identifier (argument_list "(param_1,"\nPath: %s\n\n")" ( identifier , (string_literal ""\nPath: %s\n\n"" " escape_sequence string_content escape_sequence escape_sequence ") ))) ;) }))) (expression_statement "FormatLocaleFile(param_1,"Magick          Coder\n");" (call_expression "FormatLocaleFile(param_1,"Magick          Coder\n")" identifier (argument_list "(param_1,"Magick          Coder\n")" ( identifier , (string_literal ""Magick          Coder\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );" (call_expression "FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            )" identifier (argument_list "(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            )" ( identifier , (string_literal ""-------------------------------------------------------------------------------\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }" else (compound_statement "{\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }" { (expression_statement "iVar3 = LocaleCompare(local_50,*plVar2);" (assignment_expression "iVar3 = LocaleCompare(local_50,*plVar2)" identifier = (call_expression "LocaleCompare(local_50,*plVar2)" identifier (argument_list "(local_50,*plVar2)" ( identifier , (pointer_expression "*plVar2" * identifier) )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00177cb2;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00177cb2;" goto statement_identifier ;)) }))) (expression_statement "plVar2 = *(long **)(lVar4 + lVar9 * 8);" (assignment_expression "plVar2 = *(long **)(lVar4 + lVar9 * 8)" identifier = (pointer_expression "*(long **)(lVar4 + lVar9 * 8)" * (cast_expression "(long **)(lVar4 + lVar9 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar4 + lVar9 * 8)" ( (binary_expression "lVar4 + lVar9 * 8" identifier + (binary_expression "lVar9 * 8" identifier * number_literal)) ))))) ;) (expression_statement "local_50 = *plVar2;" (assignment_expression "local_50 = *plVar2" identifier = (pointer_expression "*plVar2" * identifier)) ;) (expression_statement "FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);" (call_expression "FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1])" identifier (argument_list "(param_1,&DAT_0041fe36,plVar2[1])" ( identifier , (pointer_expression "&DAT_0041fe36" & identifier) , (subscript_expression "plVar2[1]" identifier [ number_literal ]) ))) ;) (expression_statement "uVar6 = 0xffffffffffffffff;" (assignment_expression "uVar6 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);" (assignment_expression "pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8)" identifier = (pointer_expression "*(char **)(*(long *)(lVar4 + lVar9 * 8) + 8)" * (cast_expression "(char **)(*(long *)(lVar4 + lVar9 * 8) + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(lVar4 + lVar9 * 8) + 8)" ( (binary_expression "*(long *)(lVar4 + lVar9 * 8) + 8" (pointer_expression "*(long *)(lVar4 + lVar9 * 8)" * (cast_expression "(long *)(lVar4 + lVar9 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + lVar9 * 8)" ( (binary_expression "lVar4 + lVar9 * 8" identifier + (binary_expression "lVar9 * 8" identifier * number_literal)) )))) + number_literal) ))))) ;) (do_statement "do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');" do (compound_statement "{\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          }" { (if_statement "if (uVar6 == 0) break;" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar6 = uVar6 - 1;" (assignment_expression "uVar6 = uVar6 - 1" identifier = (binary_expression "uVar6 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar8;" (assignment_expression "cVar1 = *pcVar8" identifier = (pointer_expression "*pcVar8" * identifier)) ;) (expression_statement "pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1" identifier = (binary_expression "pcVar8 + (ulong)bVar10 * -2 + 1" (binary_expression "pcVar8 + (ulong)bVar10 * -2" identifier + (binary_expression "(ulong)bVar10 * -2" (cast_expression "(ulong)bVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "lVar7 = ~uVar6 - 1;" (assignment_expression "lVar7 = ~uVar6 - 1" identifier = (binary_expression "~uVar6 - 1" (unary_expression "~uVar6" ~ identifier) - number_literal)) ;) (if_statement "if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }" if (parenthesized_expression "(lVar7 < 0x10)" ( (binary_expression "lVar7 < 0x10" identifier < number_literal) )) (compound_statement "{\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }" { (do_statement "do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);" do (compound_statement "{\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            }" { (expression_statement "FormatLocaleFile(param_1,&DAT_00437e38);" (call_expression "FormatLocaleFile(param_1,&DAT_00437e38)" identifier (argument_list "(param_1,&DAT_00437e38)" ( identifier , (pointer_expression "&DAT_00437e38" & identifier) ))) ;) (expression_statement "lVar7 = lVar7 + 1;" (assignment_expression "lVar7 = lVar7 + 1" identifier = (binary_expression "lVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar7 != 0x10)" ( (binary_expression "lVar7 != 0x10" identifier != number_literal) )) ;) })) (if_statement "if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }" if (parenthesized_expression "(*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0)" ( (binary_expression "*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0" (pointer_expression "*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10)" * (cast_expression "(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar4 + lVar9 * 8) + 0x10)" ( (binary_expression "*(long *)(lVar4 + lVar9 * 8) + 0x10" (pointer_expression "*(long *)(lVar4 + lVar9 * 8)" * (cast_expression "(long *)(lVar4 + lVar9 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + lVar9 * 8)" ( (binary_expression "lVar4 + lVar9 * 8" identifier + (binary_expression "lVar9 * 8" identifier * number_literal)) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }" { (expression_statement "FormatLocaleFile(param_1,&DAT_0041fe36);" (call_expression "FormatLocaleFile(param_1,&DAT_0041fe36)" identifier (argument_list "(param_1,&DAT_0041fe36)" ( identifier , (pointer_expression "&DAT_0041fe36" & identifier) ))) ;) })) (expression_statement "FormatLocaleFile(param_1,"\n");" (call_expression "FormatLocaleFile(param_1,"\n")" identifier (argument_list "(param_1,"\n")" ( identifier , (string_literal ""\n"" " escape_sequence ") ))) ;) })) (expression_statement "lVar9 = lVar9 + 1;" (assignment_expression "lVar9 = lVar9 + 1" identifier = (binary_expression "lVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar9 < local_48)" ( (binary_expression "lVar9 < local_48" identifier < identifier) )) ;) })) (expression_statement "RelinquishMagickMemory(lVar4);" (call_expression "RelinquishMagickMemory(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "fflush(param_1);" (call_expression "fflush(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) })) (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar5;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar5;\n  }" { (return_statement "return uVar5;" return identifier ;) })) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence string_content escape_sequence escape_sequence ") ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) + LIT) ))))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression ~ IDENT) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "undefined8 ListCoderInfo(FILE *param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  long *plVar2;\n  int iVar3;\n  long lVar4;\n  undefined8 uVar5;\n  ulong uVar6;\n  long lVar7;\n  char *pcVar8;\n  long lVar9;\n  long in_FS_OFFSET;\n  byte bVar10;\n  long local_50;\n  long local_48;\n  long local_40;\n  \n  bVar10 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (FILE *)0x0) {\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }\n  lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);\n  uVar5 = 0;\n  if (lVar4 != 0) {\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar5;\n  }\n                    \n  __stack_chk_fail();\n}" (type_identifier "undefined8") (function_declarator "ListCoderInfo(FILE *param_1,undefined8 param_2)" (identifier "ListCoderInfo") (parameter_list "(FILE *param_1,undefined8 param_2)" (( "(") (parameter_declaration "FILE *param_1" (type_identifier "FILE") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")"))) (compound_statement "{\n  char cVar1;\n  long *plVar2;\n  int iVar3;\n  long lVar4;\n  undefined8 uVar5;\n  ulong uVar6;\n  long lVar7;\n  char *pcVar8;\n  long lVar9;\n  long in_FS_OFFSET;\n  byte bVar10;\n  long local_50;\n  long local_48;\n  long local_40;\n  \n  bVar10 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (FILE *)0x0) {\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }\n  lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);\n  uVar5 = 0;\n  if (lVar4 != 0) {\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar5;\n  }\n                    \n  __stack_chk_fail();\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "long *plVar2;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar2" (* "*") (identifier "plVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "ulong uVar6;" (type_identifier "ulong") (identifier "uVar6") (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "long lVar9;" (sized_type_specifier "long" (long "long")) (identifier "lVar9") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "byte bVar10;" (type_identifier "byte") (identifier "bVar10") (; ";")) (declaration "long local_50;" (sized_type_specifier "long" (long "long")) (identifier "local_50") (; ";")) (declaration "long local_48;" (sized_type_specifier "long" (long "long")) (identifier "local_48") (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" (identifier "bVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (param_1 == (FILE *)0x0) {\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }" (if "if") (parenthesized_expression "(param_1 == (FILE *)0x0)" (( "(") (binary_expression "param_1 == (FILE *)0x0" (identifier "param_1") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    param_1 = *(FILE **)PTR_stdout_006dafe8;\n  }" ({ "{") (expression_statement "param_1 = *(FILE **)PTR_stdout_006dafe8;" (assignment_expression "param_1 = *(FILE **)PTR_stdout_006dafe8" (identifier "param_1") (= "=") (pointer_expression "*(FILE **)PTR_stdout_006dafe8" (* "*") (cast_expression "(FILE **)PTR_stdout_006dafe8" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_006dafe8")))) (; ";")) (} "}"))) (expression_statement "lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);" (assignment_expression "lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2)" (identifier "lVar4") (= "=") (call_expression "GetCoderInfoList(&DAT_00422be9,&local_48,param_2)" (identifier "GetCoderInfoList") (argument_list "(&DAT_00422be9,&local_48,param_2)" (( "(") (pointer_expression "&DAT_00422be9" (& "&") (identifier "DAT_00422be9")) (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (if_statement "if (lVar4 != 0) {\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }" (if "if") (parenthesized_expression "(lVar4 != 0)" (( "(") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }\n    RelinquishMagickMemory(lVar4);\n    fflush(param_1);\n    uVar5 = 1;\n  }" ({ "{") (if_statement "if (0 < local_48) {\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }" (if "if") (parenthesized_expression "(0 < local_48)" (( "(") (binary_expression "0 < local_48" (number_literal "0") (< "<") (identifier "local_48")) () ")")) (compound_statement "{\n      lVar9 = 0;\n      local_50 = 0;\n      do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);\n    }" ({ "{") (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" (identifier "lVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      } while (lVar9 < local_48);" (do "do") (compound_statement "{\n        plVar2 = *(long **)(lVar4 + lVar9 * 8);\n        if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }\n        lVar9 = lVar9 + 1;\n      }" ({ "{") (expression_statement "plVar2 = *(long **)(lVar4 + lVar9 * 8);" (assignment_expression "plVar2 = *(long **)(lVar4 + lVar9 * 8)" (identifier "plVar2") (= "=") (pointer_expression "*(long **)(lVar4 + lVar9 * 8)" (* "*") (cast_expression "(long **)(lVar4 + lVar9 * 8)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar4 + lVar9 * 8)" (( "(") (binary_expression "lVar4 + lVar9 * 8" (identifier "lVar4") (+ "+") (binary_expression "lVar9 * 8" (identifier "lVar9") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (*(int *)((long)plVar2 + 0x1c) == 0) {\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }" (if "if") (parenthesized_expression "(*(int *)((long)plVar2 + 0x1c) == 0)" (( "(") (binary_expression "*(int *)((long)plVar2 + 0x1c) == 0" (pointer_expression "*(int *)((long)plVar2 + 0x1c)" (* "*") (cast_expression "(int *)((long)plVar2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar2 + 0x1c)" (( "(") (binary_expression "(long)plVar2 + 0x1c" (cast_expression "(long)plVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar2")) (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }\n          plVar2 = *(long **)(lVar4 + lVar9 * 8);\n          local_50 = *plVar2;\n          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);\n          uVar6 = 0xffffffffffffffff;\n          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);\n          do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');\n          lVar7 = ~uVar6 - 1;\n          if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }\n          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }\n          FormatLocaleFile(param_1,"\n");\n        }" ({ "{") (if_statement "if (local_50 == 0) {\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }\n          else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }" (if "if") (parenthesized_expression "(local_50 == 0)" (( "(") (binary_expression "local_50 == 0" (identifier "local_50") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }\n            FormatLocaleFile(param_1,"Magick          Coder\n");\n            FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );\n          }" ({ "{") (labeled_statement "LAB_00177cb2:\n            if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }" (statement_identifier "LAB_00177cb2") (: ":") (if_statement "if (*plVar2 != 0) {\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }" (if "if") (parenthesized_expression "(*plVar2 != 0)" (( "(") (binary_expression "*plVar2 != 0" (pointer_expression "*plVar2" (* "*") (identifier "plVar2")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              FormatLocaleFile(param_1,"\nPath: %s\n\n");\n            }" ({ "{") (expression_statement "FormatLocaleFile(param_1,"\nPath: %s\n\n");" (call_expression "FormatLocaleFile(param_1,"\nPath: %s\n\n")" (identifier "FormatLocaleFile") (argument_list "(param_1,"\nPath: %s\n\n")" (( "(") (identifier "param_1") (, ",") (string_literal ""\nPath: %s\n\n"" (" """) (escape_sequence "\n") (string_content "Path: %s") (escape_sequence "\n") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}")))) (expression_statement "FormatLocaleFile(param_1,"Magick          Coder\n");" (call_expression "FormatLocaleFile(param_1,"Magick          Coder\n")" (identifier "FormatLocaleFile") (argument_list "(param_1,"Magick          Coder\n")" (( "(") (identifier "param_1") (, ",") (string_literal ""Magick          Coder\n"" (" """) (string_content "Magick          Coder") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            );" (call_expression "FormatLocaleFile(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            )" (identifier "FormatLocaleFile") (argument_list "(param_1,\n                             "-------------------------------------------------------------------------------\n"\n                            )" (( "(") (identifier "param_1") (, ",") (string_literal ""-------------------------------------------------------------------------------\n"" (" """) (string_content "-------------------------------------------------------------------------------") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }" (else "else") (compound_statement "{\n            iVar3 = LocaleCompare(local_50,*plVar2);\n            if (iVar3 != 0) goto LAB_00177cb2;\n          }" ({ "{") (expression_statement "iVar3 = LocaleCompare(local_50,*plVar2);" (assignment_expression "iVar3 = LocaleCompare(local_50,*plVar2)" (identifier "iVar3") (= "=") (call_expression "LocaleCompare(local_50,*plVar2)" (identifier "LocaleCompare") (argument_list "(local_50,*plVar2)" (( "(") (identifier "local_50") (, ",") (pointer_expression "*plVar2" (* "*") (identifier "plVar2")) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_00177cb2;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00177cb2;" (goto "goto") (statement_identifier "LAB_00177cb2") (; ";"))) (} "}")))) (expression_statement "plVar2 = *(long **)(lVar4 + lVar9 * 8);" (assignment_expression "plVar2 = *(long **)(lVar4 + lVar9 * 8)" (identifier "plVar2") (= "=") (pointer_expression "*(long **)(lVar4 + lVar9 * 8)" (* "*") (cast_expression "(long **)(lVar4 + lVar9 * 8)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar4 + lVar9 * 8)" (( "(") (binary_expression "lVar4 + lVar9 * 8" (identifier "lVar4") (+ "+") (binary_expression "lVar9 * 8" (identifier "lVar9") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "local_50 = *plVar2;" (assignment_expression "local_50 = *plVar2" (identifier "local_50") (= "=") (pointer_expression "*plVar2" (* "*") (identifier "plVar2"))) (; ";")) (expression_statement "FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);" (call_expression "FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1])" (identifier "FormatLocaleFile") (argument_list "(param_1,&DAT_0041fe36,plVar2[1])" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_0041fe36" (& "&") (identifier "DAT_0041fe36")) (, ",") (subscript_expression "plVar2[1]" (identifier "plVar2") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "uVar6 = 0xffffffffffffffff;" (assignment_expression "uVar6 = 0xffffffffffffffff" (identifier "uVar6") (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);" (assignment_expression "pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8)" (identifier "pcVar8") (= "=") (pointer_expression "*(char **)(*(long *)(lVar4 + lVar9 * 8) + 8)" (* "*") (cast_expression "(char **)(*(long *)(lVar4 + lVar9 * 8) + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(lVar4 + lVar9 * 8) + 8)" (( "(") (binary_expression "*(long *)(lVar4 + lVar9 * 8) + 8" (pointer_expression "*(long *)(lVar4 + lVar9 * 8)" (* "*") (cast_expression "(long *)(lVar4 + lVar9 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + lVar9 * 8)" (( "(") (binary_expression "lVar4 + lVar9 * 8" (identifier "lVar4") (+ "+") (binary_expression "lVar9 * 8" (identifier "lVar9") (* "*") (number_literal "8"))) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (do_statement "do {\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          } while (cVar1 != '\0');" (do "do") (compound_statement "{\n            if (uVar6 == 0) break;\n            uVar6 = uVar6 - 1;\n            cVar1 = *pcVar8;\n            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;\n          }" ({ "{") (if_statement "if (uVar6 == 0) break;" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar6 = uVar6 - 1;" (assignment_expression "uVar6 = uVar6 - 1" (identifier "uVar6") (= "=") (binary_expression "uVar6 - 1" (identifier "uVar6") (- "-") (number_literal "1"))) (; ";")) (expression_statement "cVar1 = *pcVar8;" (assignment_expression "cVar1 = *pcVar8" (identifier "cVar1") (= "=") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8"))) (; ";")) (expression_statement "pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1" (identifier "pcVar8") (= "=") (binary_expression "pcVar8 + (ulong)bVar10 * -2 + 1" (binary_expression "pcVar8 + (ulong)bVar10 * -2" (identifier "pcVar8") (+ "+") (binary_expression "(ulong)bVar10 * -2" (cast_expression "(ulong)bVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar10")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (expression_statement "lVar7 = ~uVar6 - 1;" (assignment_expression "lVar7 = ~uVar6 - 1" (identifier "lVar7") (= "=") (binary_expression "~uVar6 - 1" (unary_expression "~uVar6" (~ "~") (identifier "uVar6")) (- "-") (number_literal "1"))) (; ";")) (if_statement "if (lVar7 < 0x10) {\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }" (if "if") (parenthesized_expression "(lVar7 < 0x10)" (( "(") (binary_expression "lVar7 < 0x10" (identifier "lVar7") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n            do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);\n          }" ({ "{") (do_statement "do {\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            } while (lVar7 != 0x10);" (do "do") (compound_statement "{\n              FormatLocaleFile(param_1,&DAT_00437e38);\n              lVar7 = lVar7 + 1;\n            }" ({ "{") (expression_statement "FormatLocaleFile(param_1,&DAT_00437e38);" (call_expression "FormatLocaleFile(param_1,&DAT_00437e38)" (identifier "FormatLocaleFile") (argument_list "(param_1,&DAT_00437e38)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_00437e38" (& "&") (identifier "DAT_00437e38")) () ")"))) (; ";")) (expression_statement "lVar7 = lVar7 + 1;" (assignment_expression "lVar7 = lVar7 + 1" (identifier "lVar7") (= "=") (binary_expression "lVar7 + 1" (identifier "lVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar7 != 0x10)" (( "(") (binary_expression "lVar7 != 0x10" (identifier "lVar7") (!= "!=") (number_literal "0x10")) () ")")) (; ";")) (} "}"))) (if_statement "if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }" (if "if") (parenthesized_expression "(*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0)" (( "(") (binary_expression "*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0" (pointer_expression "*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10)" (* "*") (cast_expression "(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(lVar4 + lVar9 * 8) + 0x10)" (( "(") (binary_expression "*(long *)(lVar4 + lVar9 * 8) + 0x10" (pointer_expression "*(long *)(lVar4 + lVar9 * 8)" (* "*") (cast_expression "(long *)(lVar4 + lVar9 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + lVar9 * 8)" (( "(") (binary_expression "lVar4 + lVar9 * 8" (identifier "lVar4") (+ "+") (binary_expression "lVar9 * 8" (identifier "lVar9") (* "*") (number_literal "8"))) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            FormatLocaleFile(param_1,&DAT_0041fe36);\n          }" ({ "{") (expression_statement "FormatLocaleFile(param_1,&DAT_0041fe36);" (call_expression "FormatLocaleFile(param_1,&DAT_0041fe36)" (identifier "FormatLocaleFile") (argument_list "(param_1,&DAT_0041fe36)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_0041fe36" (& "&") (identifier "DAT_0041fe36")) () ")"))) (; ";")) (} "}"))) (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"" (" """) (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar9 = lVar9 + 1;" (assignment_expression "lVar9 = lVar9 + 1" (identifier "lVar9") (= "=") (binary_expression "lVar9 + 1" (identifier "lVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar9 < local_48)" (( "(") (binary_expression "lVar9 < local_48" (identifier "lVar9") (< "<") (identifier "local_48")) () ")")) (; ";")) (} "}"))) (expression_statement "RelinquishMagickMemory(lVar4);" (call_expression "RelinquishMagickMemory(lVar4)" (identifier "RelinquishMagickMemory") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")"))) (; ";")) (expression_statement "fflush(param_1);" (call_expression "fflush(param_1)" (identifier "fflush") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" (identifier "uVar5") (= "=") (number_literal "1")) (; ";")) (} "}"))) (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar5;\n  }" (if "if") (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (== "==") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n    return uVar5;\n  }" ({ "{") (return_statement "return uVar5;" (return "return") (identifier "uVar5") (; ";")) (} "}"))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "ExceptionType": Some values do not have unique names */

type_1 function_1(type_2 *var_2,type_3 *exception)

{
  char var_12;
  type_4 *pCVar2;
  type_1 MVar3;
  int var_9;
  type_4 **var_4;
  type_5 var_10;
  long var_13;
  char *var_11;
  long var_14;
  long var_1;
  type_6 bVar9;
  char *var_6;
  size_t number_coders;
  long var_17;
  
  bVar9 = 0;
  var_17 = *(long *)(var_1 + 0x28);
  if (var_2 == (type_2 *)0x0) {
    var_2 = *(type_2 **)PTR_stdout_006dafe8;
  }
  var_4 = var_3("*",&number_coders,exception);
  MVar3 = var_5;
  if (var_4 != (type_4 **)0x0) {
    if (0 < (long)number_coders) {
      var_14 = 0;
      var_6 = (char *)0x0;
      do {
        pCVar2 = var_4[var_14];
        if (pCVar2->stealth == var_5) {
          if (var_6 == (char *)0x0) {
LAB_00177cb2:
            if (pCVar2->path != (char *)0x0) {
              var_7(var_2,"\nPath: %s\n\n");
            }
            var_7(var_2,"Magick          Coder\n");
            var_7(var_2,
                             "-------------------------------------------------------------------------------\n"
                            );
          }
          else {
            var_9 = var_8(var_6,pCVar2->path);
            if (var_9 != 0) goto LAB_00177cb2;
          }
          var_6 = var_4[var_14]->path;
          var_7(var_2,"%s",var_4[var_14]->magick);
          var_10 = 0xffffffffffffffff;
          var_11 = var_4[var_14]->magick;
          do {
            if (var_10 == 0) break;
            var_10 = var_10 - 1;
            var_12 = *var_11;
            var_11 = var_11 + (type_5)bVar9 * -2 + 1;
          } while (var_12 != '\0');
          var_13 = ~var_10 - 1;
          if (var_13 < 0x10) {
            do {
              var_7(var_2," ");
              var_13 = var_13 + 1;
            } while (var_13 != 0x10);
          }
          if (var_4[var_14]->name != (char *)0x0) {
            var_7(var_2,"%s");
          }
          var_7(var_2,"\n");
        }
        var_14 = var_14 + 1;
      } while (var_14 < (long)number_coders);
    }
    var_15(var_4);
    var_16((type_2 *)var_2);
    MVar3 = MagickTrue;
  }
  if (var_17 == *(long *)(var_1 + 0x28)) {
    return MVar3;
  }
                    /* WARNING: Subroutine does not return */
  var_18();
}


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

undefined8 MASKED(FILE *param_1,undefined8 param_2)

{
  char cVar1;
  long *plVar2;
  int iVar3;
  long lVar4;
  undefined8 uVar5;
  ulong uVar6;
  long lVar7;
  char *pcVar8;
  long lVar9;
  long in_FS_OFFSET;
  byte bVar10;
  long local_50;
  long local_48;
  long local_40;
  
  bVar10 = 0;
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == (FILE *)0x0) {
    param_1 = *(FILE **)PTR_stdout_006dafe8;
  }
  lVar4 = GetCoderInfoList(&DAT_00422be9,&local_48,param_2);
  uVar5 = 0;
  if (lVar4 != 0) {
    if (0 < local_48) {
      lVar9 = 0;
      local_50 = 0;
      do {
        plVar2 = *(long **)(lVar4 + lVar9 * 8);
        if (*(int *)((long)plVar2 + 0x1c) == 0) {
          if (local_50 == 0) {
LAB_00177cb2:
            if (*plVar2 != 0) {
              FormatLocaleFile(param_1,"\nPath: %s\n\n");
            }
            FormatLocaleFile(param_1,"Magick          Coder\n");
            FormatLocaleFile(param_1,
                             "-------------------------------------------------------------------------------\n"
                            );
          }
          else {
            iVar3 = LocaleCompare(local_50,*plVar2);
            if (iVar3 != 0) goto LAB_00177cb2;
          }
          plVar2 = *(long **)(lVar4 + lVar9 * 8);
          local_50 = *plVar2;
          FormatLocaleFile(param_1,&DAT_0041fe36,plVar2[1]);
          uVar6 = 0xffffffffffffffff;
          pcVar8 = *(char **)(*(long *)(lVar4 + lVar9 * 8) + 8);
          do {
            if (uVar6 == 0) break;
            uVar6 = uVar6 - 1;
            cVar1 = *pcVar8;
            pcVar8 = pcVar8 + (ulong)bVar10 * -2 + 1;
          } while (cVar1 != '\0');
          lVar7 = ~uVar6 - 1;
          if (lVar7 < 0x10) {
            do {
              FormatLocaleFile(param_1,&DAT_00437e38);
              lVar7 = lVar7 + 1;
            } while (lVar7 != 0x10);
          }
          if (*(long *)(*(long *)(lVar4 + lVar9 * 8) + 0x10) != 0) {
            FormatLocaleFile(param_1,&DAT_0041fe36);
          }
          FormatLocaleFile(param_1,"\n");
        }
        lVar9 = lVar9 + 1;
      } while (lVar9 < local_48);
    }
    RelinquishMagickMemory(lVar4);
    fflush(param_1);
    uVar5 = 1;
  }
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return uVar5;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

