
void print_list(FILE *fp,predicate *node)

{
  int iVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  int iVar5;
  FILE *fp_00;
  char *pcVar6;
  char name [256];
  
  puVar3 = PTR___stack_chk_guard_00075be8;
  puVar2 = PTR_s_directory_000755b8;
  iVar4 = *(int *)PTR___stack_chk_guard_00075be8;
  if (node != (predicate *)0x0) {
    do {
      pcVar6 = node->p_name;
      if (pcVar6 != (char *)0x0) {
        iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100);
        iVar1 = iVar5 - (int)name;
        while (pcVar6 = name, iVar1 + -1 != -1) {
          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {
            pcVar6 = name + iVar1;
            break;
          }
          iVar5 = iVar5 + -1;
          iVar1 = iVar1 + -1;
        }
        *pcVar6 = '\0';
        pcVar6 = name;
      }
      (*(code *)PTR___fprintf_chk_00075a1c)(fp,1,puVar2 + -0x41f8,pcVar6);
      node = node->pred_next;
    } while (node != (predicate *)0x0);
  }
  fp_00 = (FILE *)&DAT_0000000a;
  (*(code *)PTR_fputc_00075a58)();
  if (iVar4 == *(int *)puVar3) {
    return;
  }
  (*(code *)PTR___stack_chk_fail_00075ba8)();
  if ((predicate *)fp != (predicate *)0x0) {
    print_optlist(fp_00,(predicate *)fp);
    return;
  }
  return;
}



void print_list(int param_1,int param_2)

{
  int iVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  undefined1 *puVar5;
  undefined1 local_124 [256];
  int local_24;
  
  puVar3 = PTR___stack_chk_guard_00075be8;
  puVar2 = PTR_s_directory_000755b8;
  local_24 = *(int *)PTR___stack_chk_guard_00075be8;
  if (param_2 != 0) {
    do {
      puVar5 = *(undefined1 **)(param_2 + 4);
      if (puVar5 != (undefined1 *)0x0) {
        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);
        iVar1 = iVar4 - (int)local_124;
        while (puVar5 = local_124, iVar1 + -1 != -1) {
          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {
            puVar5 = local_124 + iVar1;
            break;
          }
          iVar4 = iVar4 + -1;
          iVar1 = iVar1 + -1;
        }
        *puVar5 = 0;
        puVar5 = local_124;
      }
      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);
      param_2 = *(int *)(param_2 + 0x98);
    } while (param_2 != 0);
  }
  (*(code *)PTR_fputc_00075a58)(10);
  if (local_24 == *(int *)puVar3) {
    return;
  }
  (*(code *)PTR___stack_chk_fail_00075ba8)();
  if (param_1 != 0) {
    FUN_000187cc();
    return;
  }
  return;
}


lui gp,0x6
addiu gp,gp,0x48dc
addu gp,gp,t9
addiu sp,sp,-0x140
sw s4,0x130(sp)
lw s4,-0x7998(gp)
sw gp,0x10(sp)
sw s1,0x124(sp)
or s1,a0,zero
sw ra,0x13c(sp)
sw s6,0x138(sp)
sw s5,0x134(sp)
sw s3,0x12c(sp)
sw s2,0x128(sp)
sw s0,0x120(sp)
lw v0,0x0(s4)
sw v0,0x11c(sp)
beq a1,zero,0x00018d84
_lw t9,-0x7b28(gp)
lw s3,-0x7fc8(gp)
addiu s6,sp,0x1c
li s0,-0x1
li s2,0x9
or s5,a1,zero
lw a3,0x4(s5)
beq a3,zero,0x00018d60
_lw t9,-0x7a90(gp)
li a2,0x100
or a1,a3,zero
jalr t9
_or a0,s6,zero
subu v1,v0,s6
addiu v1,v1,-0x1
beq v1,s0,0x00018d54
_lw gp,0x10(sp)
li a1,0x20
lb a0,-0x1(v0)
beq a0,a1,0x00018d48
_nop
bne a0,s2,0x00018dc8
_nop
addiu v1,v1,-0x1
bne v1,s0,0x00018d34
_addiu v0,v0,-0x1
or v1,s6,zero
sb zero,0x0(v1)
or a3,s6,zero
lw t9,-0x7b64(gp)
addiu a2,s3,-0x41f8
li a1,0x1
jalr t9
_or a0,s1,zero
lw s5,0x98(s5)
bne s5,zero,0x00018d04
_lw gp,0x10(sp)
lw t9,-0x7b28(gp)
li a0,0xa
jalr t9
_or a1,s1,zero
lw v1,0x11c(sp)
lw v0,0x0(s4)
bne v1,v0,0x00018dd4
_lw gp,0x10(sp)
lw ra,0x13c(sp)
lw s6,0x138(sp)
lw s5,0x134(sp)
lw s4,0x130(sp)
lw s3,0x12c(sp)
lw s2,0x128(sp)
lw s1,0x124(sp)
lw s0,0x120(sp)
jr ra
_addiu sp,sp,0x140
addiu v1,v1,0x1
b 0x00018d58
_addu v1,s6,v1
lw t9,-0x79d8(gp)
jalr t9
_nop
(translation_unit "void print_list(int param_1,int param_2)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined1 local_124 [256];\n  int local_24;\n  \n  puVar3 = PTR___stack_chk_guard_00075be8;\n  puVar2 = PTR_s_directory_000755b8;\n  local_24 = *(int *)PTR___stack_chk_guard_00075be8;\n  if (param_2 != 0) {\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }\n  (*(code *)PTR_fputc_00075a58)(10);\n  if (local_24 == *(int *)puVar3) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_00075ba8)();\n  if (param_1 != 0) {\n    FUN_000187cc();\n    return;\n  }\n  return;\n}\n\n" (function_definition "void print_list(int param_1,int param_2)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined1 local_124 [256];\n  int local_24;\n  \n  puVar3 = PTR___stack_chk_guard_00075be8;\n  puVar2 = PTR_s_directory_000755b8;\n  local_24 = *(int *)PTR___stack_chk_guard_00075be8;\n  if (param_2 != 0) {\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }\n  (*(code *)PTR_fputc_00075a58)(10);\n  if (local_24 == *(int *)puVar3) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_00075ba8)();\n  if (param_1 != 0) {\n    FUN_000187cc();\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "print_list(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined1 local_124 [256];\n  int local_24;\n  \n  puVar3 = PTR___stack_chk_guard_00075be8;\n  puVar2 = PTR_s_directory_000755b8;\n  local_24 = *(int *)PTR___stack_chk_guard_00075be8;\n  if (param_2 != 0) {\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }\n  (*(code *)PTR_fputc_00075a58)(10);\n  if (local_24 == *(int *)puVar3) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_00075ba8)();\n  if (param_1 != 0) {\n    FUN_000187cc();\n    return;\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined1 local_124 [256];" type_identifier (array_declarator "local_124 [256]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_00075be8;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00075be8" identifier = identifier) ;) (expression_statement "puVar2 = PTR_s_directory_000755b8;" (assignment_expression "puVar2 = PTR_s_directory_000755b8" identifier = identifier) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_00075be8;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_00075be8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00075be8" * (cast_expression "(int *)PTR___stack_chk_guard_00075be8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_2 != 0) {\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }" { (do_statement "do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);" do (compound_statement "{\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    }" { (expression_statement "puVar5 = *(undefined1 **)(param_2 + 4);" (assignment_expression "puVar5 = *(undefined1 **)(param_2 + 4)" identifier = (pointer_expression "*(undefined1 **)(param_2 + 4)" * (cast_expression "(undefined1 **)(param_2 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }" if (parenthesized_expression "(puVar5 != (undefined1 *)0x0)" ( (binary_expression "puVar5 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }" { (expression_statement "iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);" (assignment_expression "iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100)" identifier = (call_expression "(*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100)" (parenthesized_expression "(*(code *)PTR___stpcpy_chk_00075af0)" ( (pointer_expression "*(code *)PTR___stpcpy_chk_00075af0" * (cast_expression "(code *)PTR___stpcpy_chk_00075af0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_124,puVar5,0x100)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar1 = iVar4 - (int)local_124;" (assignment_expression "iVar1 = iVar4 - (int)local_124" identifier = (binary_expression "iVar4 - (int)local_124" identifier - (cast_expression "(int)local_124" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (while_statement "while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }" while (parenthesized_expression "(puVar5 = local_124, iVar1 + -1 != -1)" ( (comma_expression "puVar5 = local_124, iVar1 + -1 != -1" (assignment_expression "puVar5 = local_124" identifier = identifier) , (binary_expression "iVar1 + -1 != -1" (binary_expression "iVar1 + -1" identifier + number_literal) != number_literal)) )) (compound_statement "{\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }" { (if_statement "if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }" if (parenthesized_expression "((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t'))" ( (binary_expression "(*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')" (parenthesized_expression "(*(char *)(iVar4 + -1) != ' ')" ( (binary_expression "*(char *)(iVar4 + -1) != ' '" (pointer_expression "*(char *)(iVar4 + -1)" * (cast_expression "(char *)(iVar4 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -1)" ( (binary_expression "iVar4 + -1" identifier + number_literal) )))) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*(char *)(iVar4 + -1) != '\t')" ( (binary_expression "*(char *)(iVar4 + -1) != '\t'" (pointer_expression "*(char *)(iVar4 + -1)" * (cast_expression "(char *)(iVar4 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -1)" ( (binary_expression "iVar4 + -1" identifier + number_literal) )))) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n            puVar5 = local_124 + iVar1;\n            break;\n          }" { (expression_statement "puVar5 = local_124 + iVar1;" (assignment_expression "puVar5 = local_124 + iVar1" identifier = (binary_expression "local_124 + iVar1" identifier + identifier)) ;) (break_statement "break;" break ;) })) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) })) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "puVar5 = local_124;" (assignment_expression "puVar5 = local_124" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);" (call_expression "(*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_00075a1c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_00075a1c" * (cast_expression "(code *)PTR___fprintf_chk_00075a1c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,1,puVar2 + -0x41f8,puVar5)" ( identifier , number_literal , (binary_expression "puVar2 + -0x41f8" identifier + number_literal) , identifier ))) ;) (expression_statement "param_2 = *(int *)(param_2 + 0x98);" (assignment_expression "param_2 = *(int *)(param_2 + 0x98)" identifier = (pointer_expression "*(int *)(param_2 + 0x98)" * (cast_expression "(int *)(param_2 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x98)" ( (binary_expression "param_2 + 0x98" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) ;) })) (expression_statement "(*(code *)PTR_fputc_00075a58)(10);" (call_expression "(*(code *)PTR_fputc_00075a58)(10)" (parenthesized_expression "(*(code *)PTR_fputc_00075a58)" ( (pointer_expression "*(code *)PTR_fputc_00075a58" * (cast_expression "(code *)PTR_fputc_00075a58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10)" ( number_literal ))) ;) (if_statement "if (local_24 == *(int *)puVar3) {\n    return;\n  }" if (parenthesized_expression "(local_24 == *(int *)puVar3)" ( (binary_expression "local_24 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_00075ba8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00075ba8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00075ba8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00075ba8" * (cast_expression "(code *)PTR___stack_chk_fail_00075ba8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (param_1 != 0) {\n    FUN_000187cc();\n    return;\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_000187cc();\n    return;\n  }" { (expression_statement "FUN_000187cc();" (call_expression "FUN_000187cc()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "void print_list(FILE *fp,predicate *node)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  FILE *fp_00;\n  char *pcVar6;\n  char name [256];\n  \n  puVar3 = PTR___stack_chk_guard_00075be8;\n  puVar2 = PTR_s_directory_000755b8;\n  iVar4 = *(int *)PTR___stack_chk_guard_00075be8;\n  if (node != (predicate *)0x0) {\n    do {\n      pcVar6 = node->p_name;\n      if (pcVar6 != (char *)0x0) {\n        iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100);\n        iVar1 = iVar5 - (int)name;\n        while (pcVar6 = name, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }\n          iVar5 = iVar5 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *pcVar6 = '\0';\n        pcVar6 = name;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(fp,1,puVar2 + -0x41f8,pcVar6);\n      node = node->pred_next;\n    } while (node != (predicate *)0x0);\n  }\n  fp_00 = (FILE *)&DAT_0000000a;\n  (*(code *)PTR_fputc_00075a58)();\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_00075ba8)();\n  if ((predicate *)fp != (predicate *)0x0) {\n    print_optlist(fp_00,(predicate *)fp);\n    return;\n  }\n  return;\n}\n\n" (function_definition "void print_list(FILE *fp,predicate *node)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  FILE *fp_00;\n  char *pcVar6;\n  char name [256];\n  \n  puVar3 = PTR___stack_chk_guard_00075be8;\n  puVar2 = PTR_s_directory_000755b8;\n  iVar4 = *(int *)PTR___stack_chk_guard_00075be8;\n  if (node != (predicate *)0x0) {\n    do {\n      pcVar6 = node->p_name;\n      if (pcVar6 != (char *)0x0) {\n        iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100);\n        iVar1 = iVar5 - (int)name;\n        while (pcVar6 = name, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }\n          iVar5 = iVar5 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *pcVar6 = '\0';\n        pcVar6 = name;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(fp,1,puVar2 + -0x41f8,pcVar6);\n      node = node->pred_next;\n    } while (node != (predicate *)0x0);\n  }\n  fp_00 = (FILE *)&DAT_0000000a;\n  (*(code *)PTR_fputc_00075a58)();\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_00075ba8)();\n  if ((predicate *)fp != (predicate *)0x0) {\n    print_optlist(fp_00,(predicate *)fp);\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "print_list(FILE *fp,predicate *node)" identifier (parameter_list "(FILE *fp,predicate *node)" ( (parameter_declaration "FILE *fp" type_identifier (pointer_declarator "*fp" * identifier)) , (parameter_declaration "predicate *node" type_identifier (pointer_declarator "*node" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  FILE *fp_00;\n  char *pcVar6;\n  char name [256];\n  \n  puVar3 = PTR___stack_chk_guard_00075be8;\n  puVar2 = PTR_s_directory_000755b8;\n  iVar4 = *(int *)PTR___stack_chk_guard_00075be8;\n  if (node != (predicate *)0x0) {\n    do {\n      pcVar6 = node->p_name;\n      if (pcVar6 != (char *)0x0) {\n        iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100);\n        iVar1 = iVar5 - (int)name;\n        while (pcVar6 = name, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }\n          iVar5 = iVar5 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *pcVar6 = '\0';\n        pcVar6 = name;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(fp,1,puVar2 + -0x41f8,pcVar6);\n      node = node->pred_next;\n    } while (node != (predicate *)0x0);\n  }\n  fp_00 = (FILE *)&DAT_0000000a;\n  (*(code *)PTR_fputc_00075a58)();\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_00075ba8)();\n  if ((predicate *)fp != (predicate *)0x0) {\n    print_optlist(fp_00,(predicate *)fp);\n    return;\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "FILE *fp_00;" type_identifier (pointer_declarator "*fp_00" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "char name [256];" primitive_type (array_declarator "name [256]" identifier [ number_literal ]) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_00075be8;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00075be8" identifier = identifier) ;) (expression_statement "puVar2 = PTR_s_directory_000755b8;" (assignment_expression "puVar2 = PTR_s_directory_000755b8" identifier = identifier) ;) (expression_statement "iVar4 = *(int *)PTR___stack_chk_guard_00075be8;" (assignment_expression "iVar4 = *(int *)PTR___stack_chk_guard_00075be8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00075be8" * (cast_expression "(int *)PTR___stack_chk_guard_00075be8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (node != (predicate *)0x0) {\n    do {\n      pcVar6 = node->p_name;\n      if (pcVar6 != (char *)0x0) {\n        iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100);\n        iVar1 = iVar5 - (int)name;\n        while (pcVar6 = name, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }\n          iVar5 = iVar5 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *pcVar6 = '\0';\n        pcVar6 = name;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(fp,1,puVar2 + -0x41f8,pcVar6);\n      node = node->pred_next;\n    } while (node != (predicate *)0x0);\n  }" if (parenthesized_expression "(node != (predicate *)0x0)" ( (binary_expression "node != (predicate *)0x0" identifier != (cast_expression "(predicate *)0x0" ( (type_descriptor "predicate *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      pcVar6 = node->p_name;\n      if (pcVar6 != (char *)0x0) {\n        iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100);\n        iVar1 = iVar5 - (int)name;\n        while (pcVar6 = name, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }\n          iVar5 = iVar5 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *pcVar6 = '\0';\n        pcVar6 = name;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(fp,1,puVar2 + -0x41f8,pcVar6);\n      node = node->pred_next;\n    } while (node != (predicate *)0x0);\n  }" { (do_statement "do {\n      pcVar6 = node->p_name;\n      if (pcVar6 != (char *)0x0) {\n        iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100);\n        iVar1 = iVar5 - (int)name;\n        while (pcVar6 = name, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }\n          iVar5 = iVar5 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *pcVar6 = '\0';\n        pcVar6 = name;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(fp,1,puVar2 + -0x41f8,pcVar6);\n      node = node->pred_next;\n    } while (node != (predicate *)0x0);" do (compound_statement "{\n      pcVar6 = node->p_name;\n      if (pcVar6 != (char *)0x0) {\n        iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100);\n        iVar1 = iVar5 - (int)name;\n        while (pcVar6 = name, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }\n          iVar5 = iVar5 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *pcVar6 = '\0';\n        pcVar6 = name;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(fp,1,puVar2 + -0x41f8,pcVar6);\n      node = node->pred_next;\n    }" { (expression_statement "pcVar6 = node->p_name;" (assignment_expression "pcVar6 = node->p_name" identifier = (field_expression "node->p_name" identifier -> field_identifier)) ;) (if_statement "if (pcVar6 != (char *)0x0) {\n        iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100);\n        iVar1 = iVar5 - (int)name;\n        while (pcVar6 = name, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }\n          iVar5 = iVar5 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *pcVar6 = '\0';\n        pcVar6 = name;\n      }" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100);\n        iVar1 = iVar5 - (int)name;\n        while (pcVar6 = name, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }\n          iVar5 = iVar5 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *pcVar6 = '\0';\n        pcVar6 = name;\n      }" { (expression_statement "iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100);" (assignment_expression "iVar5 = (*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100)" identifier = (call_expression "(*(code *)PTR___stpcpy_chk_00075af0)(name,pcVar6,0x100)" (parenthesized_expression "(*(code *)PTR___stpcpy_chk_00075af0)" ( (pointer_expression "*(code *)PTR___stpcpy_chk_00075af0" * (cast_expression "(code *)PTR___stpcpy_chk_00075af0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(name,pcVar6,0x100)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar1 = iVar5 - (int)name;" (assignment_expression "iVar1 = iVar5 - (int)name" identifier = (binary_expression "iVar5 - (int)name" identifier - (cast_expression "(int)name" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (while_statement "while (pcVar6 = name, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }\n          iVar5 = iVar5 + -1;\n          iVar1 = iVar1 + -1;\n        }" while (parenthesized_expression "(pcVar6 = name, iVar1 + -1 != -1)" ( (comma_expression "pcVar6 = name, iVar1 + -1 != -1" (assignment_expression "pcVar6 = name" identifier = identifier) , (binary_expression "iVar1 + -1 != -1" (binary_expression "iVar1 + -1" identifier + number_literal) != number_literal)) )) (compound_statement "{\n          if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }\n          iVar5 = iVar5 + -1;\n          iVar1 = iVar1 + -1;\n        }" { (if_statement "if ((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')) {\n            pcVar6 = name + iVar1;\n            break;\n          }" if (parenthesized_expression "((*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t'))" ( (binary_expression "(*(char *)(iVar5 + -1) != ' ') && (*(char *)(iVar5 + -1) != '\t')" (parenthesized_expression "(*(char *)(iVar5 + -1) != ' ')" ( (binary_expression "*(char *)(iVar5 + -1) != ' '" (pointer_expression "*(char *)(iVar5 + -1)" * (cast_expression "(char *)(iVar5 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -1)" ( (binary_expression "iVar5 + -1" identifier + number_literal) )))) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*(char *)(iVar5 + -1) != '\t')" ( (binary_expression "*(char *)(iVar5 + -1) != '\t'" (pointer_expression "*(char *)(iVar5 + -1)" * (cast_expression "(char *)(iVar5 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -1)" ( (binary_expression "iVar5 + -1" identifier + number_literal) )))) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n            pcVar6 = name + iVar1;\n            break;\n          }" { (expression_statement "pcVar6 = name + iVar1;" (assignment_expression "pcVar6 = name + iVar1" identifier = (binary_expression "name + iVar1" identifier + identifier)) ;) (break_statement "break;" break ;) })) (expression_statement "iVar5 = iVar5 + -1;" (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ;) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) })) (expression_statement "*pcVar6 = '\0';" (assignment_expression "*pcVar6 = '\0'" (pointer_expression "*pcVar6" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar6 = name;" (assignment_expression "pcVar6 = name" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___fprintf_chk_00075a1c)(fp,1,puVar2 + -0x41f8,pcVar6);" (call_expression "(*(code *)PTR___fprintf_chk_00075a1c)(fp,1,puVar2 + -0x41f8,pcVar6)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_00075a1c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_00075a1c" * (cast_expression "(code *)PTR___fprintf_chk_00075a1c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fp,1,puVar2 + -0x41f8,pcVar6)" ( identifier , number_literal , (binary_expression "puVar2 + -0x41f8" identifier + number_literal) , identifier ))) ;) (expression_statement "node = node->pred_next;" (assignment_expression "node = node->pred_next" identifier = (field_expression "node->pred_next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(node != (predicate *)0x0)" ( (binary_expression "node != (predicate *)0x0" identifier != (cast_expression "(predicate *)0x0" ( (type_descriptor "predicate *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "fp_00 = (FILE *)&DAT_0000000a;" (assignment_expression "fp_00 = (FILE *)&DAT_0000000a" identifier = (cast_expression "(FILE *)&DAT_0000000a" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000a" & identifier))) ;) (expression_statement "(*(code *)PTR_fputc_00075a58)();" (call_expression "(*(code *)PTR_fputc_00075a58)()" (parenthesized_expression "(*(code *)PTR_fputc_00075a58)" ( (pointer_expression "*(code *)PTR_fputc_00075a58" * (cast_expression "(code *)PTR_fputc_00075a58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar4 == *(int *)puVar3) {\n    return;\n  }" if (parenthesized_expression "(iVar4 == *(int *)puVar3)" ( (binary_expression "iVar4 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_00075ba8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00075ba8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00075ba8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00075ba8" * (cast_expression "(code *)PTR___stack_chk_fail_00075ba8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if ((predicate *)fp != (predicate *)0x0) {\n    print_optlist(fp_00,(predicate *)fp);\n    return;\n  }" if (parenthesized_expression "((predicate *)fp != (predicate *)0x0)" ( (binary_expression "(predicate *)fp != (predicate *)0x0" (cast_expression "(predicate *)fp" ( (type_descriptor "predicate *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(predicate *)0x0" ( (type_descriptor "predicate *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    print_optlist(fp_00,(predicate *)fp);\n    return;\n  }" { (expression_statement "print_optlist(fp_00,(predicate *)fp);" (call_expression "print_optlist(fp_00,(predicate *)fp)" identifier (argument_list "(fp_00,(predicate *)fp)" ( identifier , (cast_expression "(predicate *)fp" ( (type_descriptor "predicate *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "void print_list(int param_1,int param_2)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined1 local_124 [256];\n  int local_24;\n  \n  puVar3 = PTR___stack_chk_guard_00075be8;\n  puVar2 = PTR_s_directory_000755b8;\n  local_24 = *(int *)PTR___stack_chk_guard_00075be8;\n  if (param_2 != 0) {\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }\n  (*(code *)PTR_fputc_00075a58)(10);\n  if (local_24 == *(int *)puVar3) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_00075ba8)();\n  if (param_1 != 0) {\n    FUN_000187cc();\n    return;\n  }\n  return;\n}\n\n" (function_definition "void print_list(int param_1,int param_2)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined1 local_124 [256];\n  int local_24;\n  \n  puVar3 = PTR___stack_chk_guard_00075be8;\n  puVar2 = PTR_s_directory_000755b8;\n  local_24 = *(int *)PTR___stack_chk_guard_00075be8;\n  if (param_2 != 0) {\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }\n  (*(code *)PTR_fputc_00075a58)(10);\n  if (local_24 == *(int *)puVar3) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_00075ba8)();\n  if (param_1 != 0) {\n    FUN_000187cc();\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "print_list(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined1 local_124 [256];\n  int local_24;\n  \n  puVar3 = PTR___stack_chk_guard_00075be8;\n  puVar2 = PTR_s_directory_000755b8;\n  local_24 = *(int *)PTR___stack_chk_guard_00075be8;\n  if (param_2 != 0) {\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }\n  (*(code *)PTR_fputc_00075a58)(10);\n  if (local_24 == *(int *)puVar3) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_00075ba8)();\n  if (param_1 != 0) {\n    FUN_000187cc();\n    return;\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined1 local_124 [256];" type_identifier (array_declarator "local_124 [256]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_00075be8;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00075be8" identifier = identifier) ;) (expression_statement "puVar2 = PTR_s_directory_000755b8;" (assignment_expression "puVar2 = PTR_s_directory_000755b8" identifier = identifier) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_00075be8;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_00075be8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00075be8" * (cast_expression "(int *)PTR___stack_chk_guard_00075be8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_2 != 0) {\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }" { (do_statement "do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);" do (compound_statement "{\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    }" { (expression_statement "puVar5 = *(undefined1 **)(param_2 + 4);" (assignment_expression "puVar5 = *(undefined1 **)(param_2 + 4)" identifier = (pointer_expression "*(undefined1 **)(param_2 + 4)" * (cast_expression "(undefined1 **)(param_2 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }" if (parenthesized_expression "(puVar5 != (undefined1 *)0x0)" ( (binary_expression "puVar5 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }" { (expression_statement "iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);" (assignment_expression "iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100)" identifier = (call_expression "(*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100)" (parenthesized_expression "(*(code *)PTR___stpcpy_chk_00075af0)" ( (pointer_expression "*(code *)PTR___stpcpy_chk_00075af0" * (cast_expression "(code *)PTR___stpcpy_chk_00075af0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_124,puVar5,0x100)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar1 = iVar4 - (int)local_124;" (assignment_expression "iVar1 = iVar4 - (int)local_124" identifier = (binary_expression "iVar4 - (int)local_124" identifier - (cast_expression "(int)local_124" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (while_statement "while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }" while (parenthesized_expression "(puVar5 = local_124, iVar1 + -1 != -1)" ( (comma_expression "puVar5 = local_124, iVar1 + -1 != -1" (assignment_expression "puVar5 = local_124" identifier = identifier) , (binary_expression "iVar1 + -1 != -1" (binary_expression "iVar1 + -1" identifier + number_literal) != number_literal)) )) (compound_statement "{\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }" { (if_statement "if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }" if (parenthesized_expression "((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t'))" ( (binary_expression "(*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')" (parenthesized_expression "(*(char *)(iVar4 + -1) != ' ')" ( (binary_expression "*(char *)(iVar4 + -1) != ' '" (pointer_expression "*(char *)(iVar4 + -1)" * (cast_expression "(char *)(iVar4 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -1)" ( (binary_expression "iVar4 + -1" identifier + number_literal) )))) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*(char *)(iVar4 + -1) != '\t')" ( (binary_expression "*(char *)(iVar4 + -1) != '\t'" (pointer_expression "*(char *)(iVar4 + -1)" * (cast_expression "(char *)(iVar4 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -1)" ( (binary_expression "iVar4 + -1" identifier + number_literal) )))) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n            puVar5 = local_124 + iVar1;\n            break;\n          }" { (expression_statement "puVar5 = local_124 + iVar1;" (assignment_expression "puVar5 = local_124 + iVar1" identifier = (binary_expression "local_124 + iVar1" identifier + identifier)) ;) (break_statement "break;" break ;) })) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) })) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "puVar5 = local_124;" (assignment_expression "puVar5 = local_124" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);" (call_expression "(*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_00075a1c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_00075a1c" * (cast_expression "(code *)PTR___fprintf_chk_00075a1c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,1,puVar2 + -0x41f8,puVar5)" ( identifier , number_literal , (binary_expression "puVar2 + -0x41f8" identifier + number_literal) , identifier ))) ;) (expression_statement "param_2 = *(int *)(param_2 + 0x98);" (assignment_expression "param_2 = *(int *)(param_2 + 0x98)" identifier = (pointer_expression "*(int *)(param_2 + 0x98)" * (cast_expression "(int *)(param_2 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x98)" ( (binary_expression "param_2 + 0x98" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) ;) })) (expression_statement "(*(code *)PTR_fputc_00075a58)(10);" (call_expression "(*(code *)PTR_fputc_00075a58)(10)" (parenthesized_expression "(*(code *)PTR_fputc_00075a58)" ( (pointer_expression "*(code *)PTR_fputc_00075a58" * (cast_expression "(code *)PTR_fputc_00075a58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10)" ( number_literal ))) ;) (if_statement "if (local_24 == *(int *)puVar3) {\n    return;\n  }" if (parenthesized_expression "(local_24 == *(int *)puVar3)" ( (binary_expression "local_24 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_00075ba8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00075ba8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00075ba8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00075ba8" * (cast_expression "(code *)PTR___stack_chk_fail_00075ba8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (param_1 != 0) {\n    FUN_000187cc();\n    return;\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_000187cc();\n    return;\n  }" { (expression_statement "FUN_000187cc();" (call_expression "FUN_000187cc()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT + LIT) != LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (return_statement return ;) })))
(function_definition "void print_list(int param_1,int param_2)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined1 local_124 [256];\n  int local_24;\n  \n  puVar3 = PTR___stack_chk_guard_00075be8;\n  puVar2 = PTR_s_directory_000755b8;\n  local_24 = *(int *)PTR___stack_chk_guard_00075be8;\n  if (param_2 != 0) {\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }\n  (*(code *)PTR_fputc_00075a58)(10);\n  if (local_24 == *(int *)puVar3) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_00075ba8)();\n  if (param_1 != 0) {\n    FUN_000187cc();\n    return;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "print_list(int param_1,int param_2)" (identifier "print_list") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  undefined1 local_124 [256];\n  int local_24;\n  \n  puVar3 = PTR___stack_chk_guard_00075be8;\n  puVar2 = PTR_s_directory_000755b8;\n  local_24 = *(int *)PTR___stack_chk_guard_00075be8;\n  if (param_2 != 0) {\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }\n  (*(code *)PTR_fputc_00075a58)(10);\n  if (local_24 == *(int *)puVar3) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_00075ba8)();\n  if (param_1 != 0) {\n    FUN_000187cc();\n    return;\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined1 *puVar5;" (type_identifier "undefined1") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined1 local_124 [256];" (type_identifier "undefined1") (array_declarator "local_124 [256]" (identifier "local_124") ([ "[") (number_literal "256") (] "]")) (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_00075be8;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00075be8" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_00075be8")) (; ";")) (expression_statement "puVar2 = PTR_s_directory_000755b8;" (assignment_expression "puVar2 = PTR_s_directory_000755b8" (identifier "puVar2") (= "=") (identifier "PTR_s_directory_000755b8")) (; ";")) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_00075be8;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_00075be8" (identifier "local_24") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00075be8" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00075be8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00075be8")))) (; ";")) (if_statement "if (param_2 != 0) {\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);\n  }" ({ "{") (do_statement "do {\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    } while (param_2 != 0);" (do "do") (compound_statement "{\n      puVar5 = *(undefined1 **)(param_2 + 4);\n      if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }\n      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);\n      param_2 = *(int *)(param_2 + 0x98);\n    }" ({ "{") (expression_statement "puVar5 = *(undefined1 **)(param_2 + 4);" (assignment_expression "puVar5 = *(undefined1 **)(param_2 + 4)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined1 **)(param_2 + 4)" (* "*") (cast_expression "(undefined1 **)(param_2 + 4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (puVar5 != (undefined1 *)0x0) {\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }" (if "if") (parenthesized_expression "(puVar5 != (undefined1 *)0x0)" (( "(") (binary_expression "puVar5 != (undefined1 *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);\n        iVar1 = iVar4 - (int)local_124;\n        while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }\n        *puVar5 = 0;\n        puVar5 = local_124;\n      }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);" (assignment_expression "iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100)" (parenthesized_expression "(*(code *)PTR___stpcpy_chk_00075af0)" (( "(") (pointer_expression "*(code *)PTR___stpcpy_chk_00075af0" (* "*") (cast_expression "(code *)PTR___stpcpy_chk_00075af0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stpcpy_chk_00075af0"))) () ")")) (argument_list "(local_124,puVar5,0x100)" (( "(") (identifier "local_124") (, ",") (identifier "puVar5") (, ",") (number_literal "0x100") () ")")))) (; ";")) (expression_statement "iVar1 = iVar4 - (int)local_124;" (assignment_expression "iVar1 = iVar4 - (int)local_124" (identifier "iVar1") (= "=") (binary_expression "iVar4 - (int)local_124" (identifier "iVar4") (- "-") (cast_expression "(int)local_124" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_124")))) (; ";")) (while_statement "while (puVar5 = local_124, iVar1 + -1 != -1) {\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }" (while "while") (parenthesized_expression "(puVar5 = local_124, iVar1 + -1 != -1)" (( "(") (comma_expression "puVar5 = local_124, iVar1 + -1 != -1" (assignment_expression "puVar5 = local_124" (identifier "puVar5") (= "=") (identifier "local_124")) (, ",") (binary_expression "iVar1 + -1 != -1" (binary_expression "iVar1 + -1" (identifier "iVar1") (+ "+") (number_literal "-1")) (!= "!=") (number_literal "-1"))) () ")")) (compound_statement "{\n          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }\n          iVar4 = iVar4 + -1;\n          iVar1 = iVar1 + -1;\n        }" ({ "{") (if_statement "if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {\n            puVar5 = local_124 + iVar1;\n            break;\n          }" (if "if") (parenthesized_expression "((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t'))" (( "(") (binary_expression "(*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')" (parenthesized_expression "(*(char *)(iVar4 + -1) != ' ')" (( "(") (binary_expression "*(char *)(iVar4 + -1) != ' '" (pointer_expression "*(char *)(iVar4 + -1)" (* "*") (cast_expression "(char *)(iVar4 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + -1)" (( "(") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1")) () ")")))) (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar4 + -1) != '\t')" (( "(") (binary_expression "*(char *)(iVar4 + -1) != '\t'" (pointer_expression "*(char *)(iVar4 + -1)" (* "*") (cast_expression "(char *)(iVar4 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + -1)" (( "(") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1")) () ")")))) (!= "!=") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            puVar5 = local_124 + iVar1;\n            break;\n          }" ({ "{") (expression_statement "puVar5 = local_124 + iVar1;" (assignment_expression "puVar5 = local_124 + iVar1" (identifier "puVar5") (= "=") (binary_expression "local_124 + iVar1" (identifier "local_124") (+ "+") (identifier "iVar1"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + -1" (identifier "iVar1") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5 = local_124;" (assignment_expression "puVar5 = local_124" (identifier "puVar5") (= "=") (identifier "local_124")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);" (call_expression "(*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_00075a1c)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_00075a1c" (* "*") (cast_expression "(code *)PTR___fprintf_chk_00075a1c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_00075a1c"))) () ")")) (argument_list "(param_1,1,puVar2 + -0x41f8,puVar5)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (binary_expression "puVar2 + -0x41f8" (identifier "puVar2") (+ "+") (number_literal "-0x41f8")) (, ",") (identifier "puVar5") () ")"))) (; ";")) (expression_statement "param_2 = *(int *)(param_2 + 0x98);" (assignment_expression "param_2 = *(int *)(param_2 + 0x98)" (identifier "param_2") (= "=") (pointer_expression "*(int *)(param_2 + 0x98)" (* "*") (cast_expression "(int *)(param_2 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x98)" (( "(") (binary_expression "param_2 + 0x98" (identifier "param_2") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_fputc_00075a58)(10);" (call_expression "(*(code *)PTR_fputc_00075a58)(10)" (parenthesized_expression "(*(code *)PTR_fputc_00075a58)" (( "(") (pointer_expression "*(code *)PTR_fputc_00075a58" (* "*") (cast_expression "(code *)PTR_fputc_00075a58" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputc_00075a58"))) () ")")) (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (if_statement "if (local_24 == *(int *)puVar3) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_24 == *(int *)puVar3)" (( "(") (binary_expression "local_24 == *(int *)puVar3" (identifier "local_24") (== "==") (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___stack_chk_fail_00075ba8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00075ba8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00075ba8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00075ba8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00075ba8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00075ba8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (param_1 != 0) {\n    FUN_000187cc();\n    return;\n  }" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_000187cc();\n    return;\n  }" ({ "{") (expression_statement "FUN_000187cc();" (call_expression "FUN_000187cc()" (identifier "FUN_000187cc") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *fp,type_2 *var_1)

{
  int var_4;
  type_3 *var_6;
  type_3 *puVar3;
  int var_7;
  int var_3;
  type_1 *fp_00;
  char *var_2;
  char var_5 [256];
  
  puVar3 = PTR___stack_chk_guard_00075be8;
  var_6 = PTR_s_directory_000755b8;
  var_7 = *(int *)PTR___stack_chk_guard_00075be8;
  if (var_1 != (type_2 *)0x0) {
    do {
      var_2 = var_1->p_name;
      if (var_2 != (char *)0x0) {
        var_3 = (*(type_4 *)PTR___stpcpy_chk_00075af0)(var_5,var_2,0x100);
        var_4 = var_3 - (int)var_5;
        while (var_2 = var_5, var_4 + -1 != -1) {
          if ((*(char *)(var_3 + -1) != ' ') && (*(char *)(var_3 + -1) != '\t')) {
            var_2 = var_5 + var_4;
            break;
          }
          var_3 = var_3 + -1;
          var_4 = var_4 + -1;
        }
        *var_2 = '\0';
        var_2 = var_5;
      }
      (*(type_4 *)PTR___fprintf_chk_00075a1c)(fp,1,var_6 + -0x41f8,var_2);
      var_1 = var_1->pred_next;
    } while (var_1 != (type_2 *)0x0);
  }
  fp_00 = (type_1 *)&DAT_0000000a;
  (*(type_4 *)PTR_fputc_00075a58)();
  if (var_7 == *(int *)puVar3) {
    return;
  }
  (*(type_4 *)PTR___stack_chk_fail_00075ba8)();
  if ((type_2 *)fp != (type_2 *)0x0) {
    var_8(fp_00,(type_2 *)fp);
    return;
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (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: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (return_statement))))

void MASKED(int param_1,int param_2)

{
  int iVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  undefined1 *puVar5;
  undefined1 local_124 [256];
  int local_24;
  
  puVar3 = PTR___stack_chk_guard_00075be8;
  puVar2 = PTR_s_directory_000755b8;
  local_24 = *(int *)PTR___stack_chk_guard_00075be8;
  if (param_2 != 0) {
    do {
      puVar5 = *(undefined1 **)(param_2 + 4);
      if (puVar5 != (undefined1 *)0x0) {
        iVar4 = (*(code *)PTR___stpcpy_chk_00075af0)(local_124,puVar5,0x100);
        iVar1 = iVar4 - (int)local_124;
        while (puVar5 = local_124, iVar1 + -1 != -1) {
          if ((*(char *)(iVar4 + -1) != ' ') && (*(char *)(iVar4 + -1) != '\t')) {
            puVar5 = local_124 + iVar1;
            break;
          }
          iVar4 = iVar4 + -1;
          iVar1 = iVar1 + -1;
        }
        *puVar5 = 0;
        puVar5 = local_124;
      }
      (*(code *)PTR___fprintf_chk_00075a1c)(param_1,1,puVar2 + -0x41f8,puVar5);
      param_2 = *(int *)(param_2 + 0x98);
    } while (param_2 != 0);
  }
  (*(code *)PTR_fputc_00075a58)(10);
  if (local_24 == *(int *)puVar3) {
    return;
  }
  (*(code *)PTR___stack_chk_fail_00075ba8)();
  if (param_1 != 0) {
    FUN_000187cc();
    return;
  }
  return;
}

