
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

_Bool open_next_file(void)

{
  undefined *puVar1;
  char *pcVar2;
  int *piVar3;
  int iVar4;
  byte *pbVar5;
  byte *pbVar6;
  bool bVar7;
  bool bVar8;
  byte bVar9;
  _Bool local_1d;
  
  puVar1 = PTR_stdin_00025fd0;
  bVar9 = 0;
  local_1d = true;
  do {
    input_filename = *file_list;
    if ((byte *)input_filename == (byte *)0x0) {
      return local_1d;
    }
    iVar4 = 2;
    bVar7 = (char **)0xfffffffb < file_list;
    file_list = file_list + 1;
    bVar8 = file_list == (char **)0x0;
    pbVar5 = (byte *)input_filename;
    pbVar6 = &DAT_00020619;
    do {
      if (iVar4 == 0) break;
      iVar4 = iVar4 + -1;
      bVar7 = *pbVar5 < *pbVar6;
      bVar8 = *pbVar5 == *pbVar6;
      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;
      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;
    } while (bVar8);
    if ((!bVar7 && !bVar8) == bVar7) {
      input_filename = (char *)dcgettext(0,"standard input",5);
      have_read_stdin = true;
      in_stream = *(FILE **)puVar1;
    }
    else {
      in_stream = (FILE *)fopen64(input_filename,"r");
      if ((FILE *)in_stream != (FILE *)0x0) break;
      pcVar2 = quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename);
      piVar3 = __errno_location();
      error(0,*piVar3,&DAT_0001fa94,pcVar2);
      local_1d = false;
    }
  } while (in_stream == (FILE *)0x0);
  if ((limit_bytes_to_format != false) && (flag_dump_strings == false)) {
    setvbuf((FILE *)in_stream,(char *)0x0,2,0);
  }
  return local_1d;
}



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

undefined1 FUN_00013fe0(void)

{
  undefined *puVar1;
  undefined4 uVar2;
  int *piVar3;
  int iVar4;
  byte *pbVar5;
  byte *pbVar6;
  bool bVar7;
  bool bVar8;
  byte bVar9;
  undefined1 local_1d;
  
  puVar1 = PTR_stdin_00025fd0;
  bVar9 = 0;
  local_1d = 1;
  do {
    DAT_00026250 = (byte *)*DAT_0002624c;
    if (DAT_00026250 == (byte *)0x0) {
      return local_1d;
    }
    iVar4 = 2;
    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;
    DAT_0002624c = DAT_0002624c + 1;
    bVar8 = DAT_0002624c == (undefined4 *)0x0;
    pbVar5 = DAT_00026250;
    pbVar6 = &DAT_00020619;
    do {
      if (iVar4 == 0) break;
      iVar4 = iVar4 + -1;
      bVar7 = *pbVar5 < *pbVar6;
      bVar8 = *pbVar5 == *pbVar6;
      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;
      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;
    } while (bVar8);
    if ((!bVar7 && !bVar8) == bVar7) {
      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);
      DAT_00026244 = 1;
      DAT_00026248 = *(FILE **)puVar1;
    }
    else {
      DAT_00026248 = fopen64((char *)DAT_00026250,"r");
      if (DAT_00026248 != (FILE *)0x0) break;
      uVar2 = FUN_00017b10(0,3,DAT_00026250);
      piVar3 = __errno_location();
      error(0,*piVar3,&DAT_0001fa94,uVar2);
      local_1d = 0;
    }
  } while (DAT_00026248 == (FILE *)0x0);
  if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {
    setvbuf(DAT_00026248,(char *)0x0,2,0);
  }
  return local_1d;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x000127f0
ADD EBX,0x12017
SUB ESP,0x1c
MOV byte ptr [ESP + 0xf],0x1
MOV EAX,dword ptr [EBX + 0xffffffd0]
LEA EBP,[EBX + 0xffffa619]
MOV dword ptr [ESP + 0x8],EAX
JMP 0x00014043
SUB ESP,0x4
LEA EAX,[EBX + 0xffff805f]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00011100
MOV byte ptr [EBX + 0x244],0x1
MOV dword ptr [EBX + 0x250],EAX
MOV EAX,dword ptr [ESP + 0x18]
ADD ESP,0x10
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBX + 0x248],EAX
TEST EAX,EAX
JNZ 0x00014090
MOV EDX,dword ptr [EBX + 0x24c]
MOV EAX,dword ptr [EDX]
MOV dword ptr [EBX + 0x250],EAX
TEST EAX,EAX
JZ 0x000140a2
MOV ECX,0x2
MOV ESI,EAX
MOV EDI,EBP
ADD EDX,0x4
CMPSB.REPE ES:EDI,ESI
MOV dword ptr [EBX + 0x24c],EDX
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x00014010
SUB ESP,0x8
LEA EDX,[EBX + 0xffff8039]
PUSH EDX
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBX + 0x248],EAX
TEST EAX,EAX
JZ 0x000140b0
CMP byte ptr [EBX + 0x278],0x0
JZ 0x000140a2
CMP byte ptr [EBX + 0x29a],0x0
JZ 0x000140ed
MOVZX EAX,byte ptr [ESP + 0xf]
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
PUSH dword ptr [EBX + 0x250]
PUSH 0x3
PUSH 0x0
CALL 0x00017b10
MOV ESI,EAX
CALL 0x000112b0
LEA EDX,[EBX + 0xffff9a94]
PUSH ESI
PUSH EDX
PUSH dword ptr [EAX]
PUSH 0x0
CALL 0x000111b0
ADD ESP,0x20
MOV EAX,dword ptr [EBX + 0x248]
MOV byte ptr [ESP + 0xf],0x0
JMP 0x0001403f
PUSH 0x0
PUSH 0x2
PUSH 0x0
PUSH EAX
CALL 0x00011280
ADD ESP,0x10
JMP 0x000140a2
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined1 FUN_00013fe0(void)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  byte bVar9;\n  undefined1 local_1d;\n  \n  puVar1 = PTR_stdin_00025fd0;\n  bVar9 = 0;\n  local_1d = 1;\n  do {\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  } while (DAT_00026248 == (FILE *)0x0);\n  if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }\n  return local_1d;\n}\n\n" comment (function_definition "undefined1 FUN_00013fe0(void)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  byte bVar9;\n  undefined1 local_1d;\n  \n  puVar1 = PTR_stdin_00025fd0;\n  bVar9 = 0;\n  local_1d = 1;\n  do {\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  } while (DAT_00026248 == (FILE *)0x0);\n  if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }\n  return local_1d;\n}" type_identifier (function_declarator "FUN_00013fe0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  byte bVar9;\n  undefined1 local_1d;\n  \n  puVar1 = PTR_stdin_00025fd0;\n  bVar9 = 0;\n  local_1d = 1;\n  do {\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  } while (DAT_00026248 == (FILE *)0x0);\n  if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }\n  return local_1d;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "undefined1 local_1d;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_stdin_00025fd0;" (assignment_expression "puVar1 = PTR_stdin_00025fd0" identifier = identifier) ;) (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" identifier = number_literal) ;) (expression_statement "local_1d = 1;" (assignment_expression "local_1d = 1" identifier = number_literal) ;) (do_statement "do {\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  } while (DAT_00026248 == (FILE *)0x0);" do (compound_statement "{\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  }" { (expression_statement "DAT_00026250 = (byte *)*DAT_0002624c;" (assignment_expression "DAT_00026250 = (byte *)*DAT_0002624c" identifier = (cast_expression "(byte *)*DAT_0002624c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_0002624c" * identifier))) ;) (if_statement "if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }" if (parenthesized_expression "(DAT_00026250 == (byte *)0x0)" ( (binary_expression "DAT_00026250 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return local_1d;\n    }" { (return_statement "return local_1d;" return identifier ;) })) (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" identifier = number_literal) ;) (expression_statement "bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;" (assignment_expression "bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c" identifier = (binary_expression "(undefined4 *)0xfffffffb < DAT_0002624c" (cast_expression "(undefined4 *)0xfffffffb" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier)) ;) (expression_statement "DAT_0002624c = DAT_0002624c + 1;" (assignment_expression "DAT_0002624c = DAT_0002624c + 1" identifier = (binary_expression "DAT_0002624c + 1" identifier + number_literal)) ;) (expression_statement "bVar8 = DAT_0002624c == (undefined4 *)0x0;" (assignment_expression "bVar8 = DAT_0002624c == (undefined4 *)0x0" identifier = (binary_expression "DAT_0002624c == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar5 = DAT_00026250;" (assignment_expression "pbVar5 = DAT_00026250" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_00020619;" (assignment_expression "pbVar6 = &DAT_00020619" identifier = (pointer_expression "&DAT_00020619" & identifier)) ;) (do_statement "do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);" do (compound_statement "{\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar5 < *pbVar6;" (assignment_expression "bVar7 = *pbVar5 < *pbVar6" identifier = (binary_expression "*pbVar5 < *pbVar6" (pointer_expression "*pbVar5" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar8 = *pbVar5 == *pbVar6;" (assignment_expression "bVar8 = *pbVar5 == *pbVar6" identifier = (binary_expression "*pbVar5 == *pbVar6" (pointer_expression "*pbVar5" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;" (assignment_expression "pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1" identifier = (binary_expression "pbVar5 + (uint)bVar9 * -2 + 1" (binary_expression "pbVar5 + (uint)bVar9 * -2" identifier + (binary_expression "(uint)bVar9 * -2" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;" (assignment_expression "pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1" identifier = (binary_expression "pbVar6 + (uint)bVar9 * -2 + 1" (binary_expression "pbVar6 + (uint)bVar9 * -2" identifier + (binary_expression "(uint)bVar9 * -2" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (if_statement "if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }" if (parenthesized_expression "((!bVar7 && !bVar8) == bVar7)" ( (binary_expression "(!bVar7 && !bVar8) == bVar7" (parenthesized_expression "(!bVar7 && !bVar8)" ( (binary_expression "!bVar7 && !bVar8" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier) )) (compound_statement "{\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }" { (expression_statement "DAT_00026250 = (byte *)dcgettext(0,"standard input",5);" (assignment_expression "DAT_00026250 = (byte *)dcgettext(0,"standard input",5)" identifier = (cast_expression "(byte *)dcgettext(0,"standard input",5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"standard input",5)" identifier (argument_list "(0,"standard input",5)" ( number_literal , (string_literal ""standard input"" " string_content ") , number_literal ))))) ;) (expression_statement "DAT_00026244 = 1;" (assignment_expression "DAT_00026244 = 1" identifier = number_literal) ;) (expression_statement "DAT_00026248 = *(FILE **)puVar1;" (assignment_expression "DAT_00026248 = *(FILE **)puVar1" identifier = (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }" else (compound_statement "{\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }" { (expression_statement "DAT_00026248 = fopen64((char *)DAT_00026250,"r");" (assignment_expression "DAT_00026248 = fopen64((char *)DAT_00026250,"r")" identifier = (call_expression "fopen64((char *)DAT_00026250,"r")" identifier (argument_list "((char *)DAT_00026250,"r")" ( (cast_expression "(char *)DAT_00026250" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""r"" " string_content ") )))) ;) (if_statement "if (DAT_00026248 != (FILE *)0x0) break;" if (parenthesized_expression "(DAT_00026248 != (FILE *)0x0)" ( (binary_expression "DAT_00026248 != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar2 = FUN_00017b10(0,3,DAT_00026250);" (assignment_expression "uVar2 = FUN_00017b10(0,3,DAT_00026250)" identifier = (call_expression "FUN_00017b10(0,3,DAT_00026250)" identifier (argument_list "(0,3,DAT_00026250)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "piVar3 = __errno_location();" (assignment_expression "piVar3 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar3,&DAT_0001fa94,uVar2);" (call_expression "error(0,*piVar3,&DAT_0001fa94,uVar2)" identifier (argument_list "(0,*piVar3,&DAT_0001fa94,uVar2)" ( number_literal , (pointer_expression "*piVar3" * identifier) , (pointer_expression "&DAT_0001fa94" & identifier) , identifier ))) ;) (expression_statement "local_1d = 0;" (assignment_expression "local_1d = 0" identifier = number_literal) ;) }))) }) while (parenthesized_expression "(DAT_00026248 == (FILE *)0x0)" ( (binary_expression "DAT_00026248 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }" if (parenthesized_expression "((DAT_00026278 != '\0') && (DAT_0002629a == '\0'))" ( (binary_expression "(DAT_00026278 != '\0') && (DAT_0002629a == '\0')" (parenthesized_expression "(DAT_00026278 != '\0')" ( (binary_expression "DAT_00026278 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(DAT_0002629a == '\0')" ( (binary_expression "DAT_0002629a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }" { (expression_statement "setvbuf(DAT_00026248,(char *)0x0,2,0);" (call_expression "setvbuf(DAT_00026248,(char *)0x0,2,0)" identifier (argument_list "(DAT_00026248,(char *)0x0,2,0)" ( identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , number_literal ))) ;) })) (return_statement "return local_1d;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\n_Bool open_next_file(void)\n\n{\n  undefined *puVar1;\n  char *pcVar2;\n  int *piVar3;\n  int iVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  byte bVar9;\n  _Bool local_1d;\n  \n  puVar1 = PTR_stdin_00025fd0;\n  bVar9 = 0;\n  local_1d = true;\n  do {\n    input_filename = *file_list;\n    if ((byte *)input_filename == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (char **)0xfffffffb < file_list;\n    file_list = file_list + 1;\n    bVar8 = file_list == (char **)0x0;\n    pbVar5 = (byte *)input_filename;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      input_filename = (char *)dcgettext(0,"standard input",5);\n      have_read_stdin = true;\n      in_stream = *(FILE **)puVar1;\n    }\n    else {\n      in_stream = (FILE *)fopen64(input_filename,"r");\n      if ((FILE *)in_stream != (FILE *)0x0) break;\n      pcVar2 = quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,pcVar2);\n      local_1d = false;\n    }\n  } while (in_stream == (FILE *)0x0);\n  if ((limit_bytes_to_format != false) && (flag_dump_strings == false)) {\n    setvbuf((FILE *)in_stream,(char *)0x0,2,0);\n  }\n  return local_1d;\n}\n\n" comment comment (function_definition "_Bool open_next_file(void)\n\n{\n  undefined *puVar1;\n  char *pcVar2;\n  int *piVar3;\n  int iVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  byte bVar9;\n  _Bool local_1d;\n  \n  puVar1 = PTR_stdin_00025fd0;\n  bVar9 = 0;\n  local_1d = true;\n  do {\n    input_filename = *file_list;\n    if ((byte *)input_filename == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (char **)0xfffffffb < file_list;\n    file_list = file_list + 1;\n    bVar8 = file_list == (char **)0x0;\n    pbVar5 = (byte *)input_filename;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      input_filename = (char *)dcgettext(0,"standard input",5);\n      have_read_stdin = true;\n      in_stream = *(FILE **)puVar1;\n    }\n    else {\n      in_stream = (FILE *)fopen64(input_filename,"r");\n      if ((FILE *)in_stream != (FILE *)0x0) break;\n      pcVar2 = quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,pcVar2);\n      local_1d = false;\n    }\n  } while (in_stream == (FILE *)0x0);\n  if ((limit_bytes_to_format != false) && (flag_dump_strings == false)) {\n    setvbuf((FILE *)in_stream,(char *)0x0,2,0);\n  }\n  return local_1d;\n}" type_identifier (function_declarator "open_next_file(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  char *pcVar2;\n  int *piVar3;\n  int iVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  byte bVar9;\n  _Bool local_1d;\n  \n  puVar1 = PTR_stdin_00025fd0;\n  bVar9 = 0;\n  local_1d = true;\n  do {\n    input_filename = *file_list;\n    if ((byte *)input_filename == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (char **)0xfffffffb < file_list;\n    file_list = file_list + 1;\n    bVar8 = file_list == (char **)0x0;\n    pbVar5 = (byte *)input_filename;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      input_filename = (char *)dcgettext(0,"standard input",5);\n      have_read_stdin = true;\n      in_stream = *(FILE **)puVar1;\n    }\n    else {\n      in_stream = (FILE *)fopen64(input_filename,"r");\n      if ((FILE *)in_stream != (FILE *)0x0) break;\n      pcVar2 = quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,pcVar2);\n      local_1d = false;\n    }\n  } while (in_stream == (FILE *)0x0);\n  if ((limit_bytes_to_format != false) && (flag_dump_strings == false)) {\n    setvbuf((FILE *)in_stream,(char *)0x0,2,0);\n  }\n  return local_1d;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "_Bool local_1d;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_stdin_00025fd0;" (assignment_expression "puVar1 = PTR_stdin_00025fd0" identifier = identifier) ;) (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" identifier = number_literal) ;) (expression_statement "local_1d = true;" (assignment_expression "local_1d = true" identifier = true) ;) (do_statement "do {\n    input_filename = *file_list;\n    if ((byte *)input_filename == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (char **)0xfffffffb < file_list;\n    file_list = file_list + 1;\n    bVar8 = file_list == (char **)0x0;\n    pbVar5 = (byte *)input_filename;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      input_filename = (char *)dcgettext(0,"standard input",5);\n      have_read_stdin = true;\n      in_stream = *(FILE **)puVar1;\n    }\n    else {\n      in_stream = (FILE *)fopen64(input_filename,"r");\n      if ((FILE *)in_stream != (FILE *)0x0) break;\n      pcVar2 = quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,pcVar2);\n      local_1d = false;\n    }\n  } while (in_stream == (FILE *)0x0);" do (compound_statement "{\n    input_filename = *file_list;\n    if ((byte *)input_filename == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (char **)0xfffffffb < file_list;\n    file_list = file_list + 1;\n    bVar8 = file_list == (char **)0x0;\n    pbVar5 = (byte *)input_filename;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      input_filename = (char *)dcgettext(0,"standard input",5);\n      have_read_stdin = true;\n      in_stream = *(FILE **)puVar1;\n    }\n    else {\n      in_stream = (FILE *)fopen64(input_filename,"r");\n      if ((FILE *)in_stream != (FILE *)0x0) break;\n      pcVar2 = quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,pcVar2);\n      local_1d = false;\n    }\n  }" { (expression_statement "input_filename = *file_list;" (assignment_expression "input_filename = *file_list" identifier = (pointer_expression "*file_list" * identifier)) ;) (if_statement "if ((byte *)input_filename == (byte *)0x0) {\n      return local_1d;\n    }" if (parenthesized_expression "((byte *)input_filename == (byte *)0x0)" ( (binary_expression "(byte *)input_filename == (byte *)0x0" (cast_expression "(byte *)input_filename" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return local_1d;\n    }" { (return_statement "return local_1d;" return identifier ;) })) (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" identifier = number_literal) ;) (expression_statement "bVar7 = (char **)0xfffffffb < file_list;" (assignment_expression "bVar7 = (char **)0xfffffffb < file_list" identifier = (binary_expression "(char **)0xfffffffb < file_list" (cast_expression "(char **)0xfffffffb" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier)) ;) (expression_statement "file_list = file_list + 1;" (assignment_expression "file_list = file_list + 1" identifier = (binary_expression "file_list + 1" identifier + number_literal)) ;) (expression_statement "bVar8 = file_list == (char **)0x0;" (assignment_expression "bVar8 = file_list == (char **)0x0" identifier = (binary_expression "file_list == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ;) (expression_statement "pbVar5 = (byte *)input_filename;" (assignment_expression "pbVar5 = (byte *)input_filename" identifier = (cast_expression "(byte *)input_filename" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar6 = &DAT_00020619;" (assignment_expression "pbVar6 = &DAT_00020619" identifier = (pointer_expression "&DAT_00020619" & identifier)) ;) (do_statement "do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);" do (compound_statement "{\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar5 < *pbVar6;" (assignment_expression "bVar7 = *pbVar5 < *pbVar6" identifier = (binary_expression "*pbVar5 < *pbVar6" (pointer_expression "*pbVar5" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar8 = *pbVar5 == *pbVar6;" (assignment_expression "bVar8 = *pbVar5 == *pbVar6" identifier = (binary_expression "*pbVar5 == *pbVar6" (pointer_expression "*pbVar5" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;" (assignment_expression "pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1" identifier = (binary_expression "pbVar5 + (uint)bVar9 * -2 + 1" (binary_expression "pbVar5 + (uint)bVar9 * -2" identifier + (binary_expression "(uint)bVar9 * -2" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;" (assignment_expression "pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1" identifier = (binary_expression "pbVar6 + (uint)bVar9 * -2 + 1" (binary_expression "pbVar6 + (uint)bVar9 * -2" identifier + (binary_expression "(uint)bVar9 * -2" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (if_statement "if ((!bVar7 && !bVar8) == bVar7) {\n      input_filename = (char *)dcgettext(0,"standard input",5);\n      have_read_stdin = true;\n      in_stream = *(FILE **)puVar1;\n    }\n    else {\n      in_stream = (FILE *)fopen64(input_filename,"r");\n      if ((FILE *)in_stream != (FILE *)0x0) break;\n      pcVar2 = quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,pcVar2);\n      local_1d = false;\n    }" if (parenthesized_expression "((!bVar7 && !bVar8) == bVar7)" ( (binary_expression "(!bVar7 && !bVar8) == bVar7" (parenthesized_expression "(!bVar7 && !bVar8)" ( (binary_expression "!bVar7 && !bVar8" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier) )) (compound_statement "{\n      input_filename = (char *)dcgettext(0,"standard input",5);\n      have_read_stdin = true;\n      in_stream = *(FILE **)puVar1;\n    }" { (expression_statement "input_filename = (char *)dcgettext(0,"standard input",5);" (assignment_expression "input_filename = (char *)dcgettext(0,"standard input",5)" identifier = (cast_expression "(char *)dcgettext(0,"standard input",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"standard input",5)" identifier (argument_list "(0,"standard input",5)" ( number_literal , (string_literal ""standard input"" " string_content ") , number_literal ))))) ;) (expression_statement "have_read_stdin = true;" (assignment_expression "have_read_stdin = true" identifier = true) ;) (expression_statement "in_stream = *(FILE **)puVar1;" (assignment_expression "in_stream = *(FILE **)puVar1" identifier = (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n      in_stream = (FILE *)fopen64(input_filename,"r");\n      if ((FILE *)in_stream != (FILE *)0x0) break;\n      pcVar2 = quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,pcVar2);\n      local_1d = false;\n    }" else (compound_statement "{\n      in_stream = (FILE *)fopen64(input_filename,"r");\n      if ((FILE *)in_stream != (FILE *)0x0) break;\n      pcVar2 = quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,pcVar2);\n      local_1d = false;\n    }" { (expression_statement "in_stream = (FILE *)fopen64(input_filename,"r");" (assignment_expression "in_stream = (FILE *)fopen64(input_filename,"r")" identifier = (cast_expression "(FILE *)fopen64(input_filename,"r")" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "fopen64(input_filename,"r")" identifier (argument_list "(input_filename,"r")" ( identifier , (string_literal ""r"" " string_content ") ))))) ;) (if_statement "if ((FILE *)in_stream != (FILE *)0x0) break;" if (parenthesized_expression "((FILE *)in_stream != (FILE *)0x0)" ( (binary_expression "(FILE *)in_stream != (FILE *)0x0" (cast_expression "(FILE *)in_stream" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pcVar2 = quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename);" (assignment_expression "pcVar2 = quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename)" identifier = (call_expression "quotearg_n_style_colon(0,shell_escape_quoting_style,input_filename)" identifier (argument_list "(0,shell_escape_quoting_style,input_filename)" ( number_literal , identifier , identifier )))) ;) (expression_statement "piVar3 = __errno_location();" (assignment_expression "piVar3 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar3,&DAT_0001fa94,pcVar2);" (call_expression "error(0,*piVar3,&DAT_0001fa94,pcVar2)" identifier (argument_list "(0,*piVar3,&DAT_0001fa94,pcVar2)" ( number_literal , (pointer_expression "*piVar3" * identifier) , (pointer_expression "&DAT_0001fa94" & identifier) , identifier ))) ;) (expression_statement "local_1d = false;" (assignment_expression "local_1d = false" identifier = false) ;) }))) }) while (parenthesized_expression "(in_stream == (FILE *)0x0)" ( (binary_expression "in_stream == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if ((limit_bytes_to_format != false) && (flag_dump_strings == false)) {\n    setvbuf((FILE *)in_stream,(char *)0x0,2,0);\n  }" if (parenthesized_expression "((limit_bytes_to_format != false) && (flag_dump_strings == false))" ( (binary_expression "(limit_bytes_to_format != false) && (flag_dump_strings == false)" (parenthesized_expression "(limit_bytes_to_format != false)" ( (binary_expression "limit_bytes_to_format != false" identifier != false) )) && (parenthesized_expression "(flag_dump_strings == false)" ( (binary_expression "flag_dump_strings == false" identifier == false) ))) )) (compound_statement "{\n    setvbuf((FILE *)in_stream,(char *)0x0,2,0);\n  }" { (expression_statement "setvbuf((FILE *)in_stream,(char *)0x0,2,0);" (call_expression "setvbuf((FILE *)in_stream,(char *)0x0,2,0)" identifier (argument_list "((FILE *)in_stream,(char *)0x0,2,0)" ( (cast_expression "(FILE *)in_stream" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , number_literal ))) ;) })) (return_statement "return local_1d;" return identifier ;) })))
(translation_unit "undefined1 FUN_00013fe0(void)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  byte bVar9;\n  undefined1 local_1d;\n  \n  puVar1 = PTR_stdin_00025fd0;\n  bVar9 = 0;\n  local_1d = 1;\n  do {\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  } while (DAT_00026248 == (FILE *)0x0);\n  if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }\n  return local_1d;\n}\n\n" (function_definition "undefined1 FUN_00013fe0(void)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  byte bVar9;\n  undefined1 local_1d;\n  \n  puVar1 = PTR_stdin_00025fd0;\n  bVar9 = 0;\n  local_1d = 1;\n  do {\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  } while (DAT_00026248 == (FILE *)0x0);\n  if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }\n  return local_1d;\n}" type_identifier (function_declarator "FUN_00013fe0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  byte bVar9;\n  undefined1 local_1d;\n  \n  puVar1 = PTR_stdin_00025fd0;\n  bVar9 = 0;\n  local_1d = 1;\n  do {\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  } while (DAT_00026248 == (FILE *)0x0);\n  if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }\n  return local_1d;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "undefined1 local_1d;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_stdin_00025fd0;" (assignment_expression "puVar1 = PTR_stdin_00025fd0" identifier = identifier) ;) (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" identifier = number_literal) ;) (expression_statement "local_1d = 1;" (assignment_expression "local_1d = 1" identifier = number_literal) ;) (do_statement "do {\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  } while (DAT_00026248 == (FILE *)0x0);" do (compound_statement "{\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  }" { (expression_statement "DAT_00026250 = (byte *)*DAT_0002624c;" (assignment_expression "DAT_00026250 = (byte *)*DAT_0002624c" identifier = (cast_expression "(byte *)*DAT_0002624c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_0002624c" * identifier))) ;) (if_statement "if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }" if (parenthesized_expression "(DAT_00026250 == (byte *)0x0)" ( (binary_expression "DAT_00026250 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return local_1d;\n    }" { (return_statement "return local_1d;" return identifier ;) })) (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" identifier = number_literal) ;) (expression_statement "bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;" (assignment_expression "bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c" identifier = (binary_expression "(undefined4 *)0xfffffffb < DAT_0002624c" (cast_expression "(undefined4 *)0xfffffffb" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier)) ;) (expression_statement "DAT_0002624c = DAT_0002624c + 1;" (assignment_expression "DAT_0002624c = DAT_0002624c + 1" identifier = (binary_expression "DAT_0002624c + 1" identifier + number_literal)) ;) (expression_statement "bVar8 = DAT_0002624c == (undefined4 *)0x0;" (assignment_expression "bVar8 = DAT_0002624c == (undefined4 *)0x0" identifier = (binary_expression "DAT_0002624c == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar5 = DAT_00026250;" (assignment_expression "pbVar5 = DAT_00026250" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_00020619;" (assignment_expression "pbVar6 = &DAT_00020619" identifier = (pointer_expression "&DAT_00020619" & identifier)) ;) (do_statement "do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);" do (compound_statement "{\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar5 < *pbVar6;" (assignment_expression "bVar7 = *pbVar5 < *pbVar6" identifier = (binary_expression "*pbVar5 < *pbVar6" (pointer_expression "*pbVar5" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar8 = *pbVar5 == *pbVar6;" (assignment_expression "bVar8 = *pbVar5 == *pbVar6" identifier = (binary_expression "*pbVar5 == *pbVar6" (pointer_expression "*pbVar5" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;" (assignment_expression "pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1" identifier = (binary_expression "pbVar5 + (uint)bVar9 * -2 + 1" (binary_expression "pbVar5 + (uint)bVar9 * -2" identifier + (binary_expression "(uint)bVar9 * -2" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;" (assignment_expression "pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1" identifier = (binary_expression "pbVar6 + (uint)bVar9 * -2 + 1" (binary_expression "pbVar6 + (uint)bVar9 * -2" identifier + (binary_expression "(uint)bVar9 * -2" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (if_statement "if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }" if (parenthesized_expression "((!bVar7 && !bVar8) == bVar7)" ( (binary_expression "(!bVar7 && !bVar8) == bVar7" (parenthesized_expression "(!bVar7 && !bVar8)" ( (binary_expression "!bVar7 && !bVar8" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier) )) (compound_statement "{\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }" { (expression_statement "DAT_00026250 = (byte *)dcgettext(0,"standard input",5);" (assignment_expression "DAT_00026250 = (byte *)dcgettext(0,"standard input",5)" identifier = (cast_expression "(byte *)dcgettext(0,"standard input",5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"standard input",5)" identifier (argument_list "(0,"standard input",5)" ( number_literal , (string_literal ""standard input"" " string_content ") , number_literal ))))) ;) (expression_statement "DAT_00026244 = 1;" (assignment_expression "DAT_00026244 = 1" identifier = number_literal) ;) (expression_statement "DAT_00026248 = *(FILE **)puVar1;" (assignment_expression "DAT_00026248 = *(FILE **)puVar1" identifier = (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }" else (compound_statement "{\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }" { (expression_statement "DAT_00026248 = fopen64((char *)DAT_00026250,"r");" (assignment_expression "DAT_00026248 = fopen64((char *)DAT_00026250,"r")" identifier = (call_expression "fopen64((char *)DAT_00026250,"r")" identifier (argument_list "((char *)DAT_00026250,"r")" ( (cast_expression "(char *)DAT_00026250" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""r"" " string_content ") )))) ;) (if_statement "if (DAT_00026248 != (FILE *)0x0) break;" if (parenthesized_expression "(DAT_00026248 != (FILE *)0x0)" ( (binary_expression "DAT_00026248 != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar2 = FUN_00017b10(0,3,DAT_00026250);" (assignment_expression "uVar2 = FUN_00017b10(0,3,DAT_00026250)" identifier = (call_expression "FUN_00017b10(0,3,DAT_00026250)" identifier (argument_list "(0,3,DAT_00026250)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "piVar3 = __errno_location();" (assignment_expression "piVar3 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar3,&DAT_0001fa94,uVar2);" (call_expression "error(0,*piVar3,&DAT_0001fa94,uVar2)" identifier (argument_list "(0,*piVar3,&DAT_0001fa94,uVar2)" ( number_literal , (pointer_expression "*piVar3" * identifier) , (pointer_expression "&DAT_0001fa94" & identifier) , identifier ))) ;) (expression_statement "local_1d = 0;" (assignment_expression "local_1d = 0" identifier = number_literal) ;) }))) }) while (parenthesized_expression "(DAT_00026248 == (FILE *)0x0)" ( (binary_expression "DAT_00026248 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }" if (parenthesized_expression "((DAT_00026278 != '\0') && (DAT_0002629a == '\0'))" ( (binary_expression "(DAT_00026278 != '\0') && (DAT_0002629a == '\0')" (parenthesized_expression "(DAT_00026278 != '\0')" ( (binary_expression "DAT_00026278 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(DAT_0002629a == '\0')" ( (binary_expression "DAT_0002629a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }" { (expression_statement "setvbuf(DAT_00026248,(char *)0x0,2,0);" (call_expression "setvbuf(DAT_00026248,(char *)0x0,2,0)" identifier (argument_list "(DAT_00026248,(char *)0x0,2,0)" ( identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , number_literal ))) ;) })) (return_statement "return local_1d;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , 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 *))) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) while (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) , LIT , LIT ))) ;) })) (return_statement return IDENT ;) })))
(function_definition "undefined1 FUN_00013fe0(void)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  byte bVar9;\n  undefined1 local_1d;\n  \n  puVar1 = PTR_stdin_00025fd0;\n  bVar9 = 0;\n  local_1d = 1;\n  do {\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  } while (DAT_00026248 == (FILE *)0x0);\n  if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }\n  return local_1d;\n}" (type_identifier "undefined1") (function_declarator "FUN_00013fe0(void)" (identifier "FUN_00013fe0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  byte bVar9;\n  undefined1 local_1d;\n  \n  puVar1 = PTR_stdin_00025fd0;\n  bVar9 = 0;\n  local_1d = 1;\n  do {\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  } while (DAT_00026248 == (FILE *)0x0);\n  if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }\n  return local_1d;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "byte *pbVar5;" (type_identifier "byte") (pointer_declarator "*pbVar5" (* "*") (identifier "pbVar5")) (; ";")) (declaration "byte *pbVar6;" (type_identifier "byte") (pointer_declarator "*pbVar6" (* "*") (identifier "pbVar6")) (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (declaration "bool bVar8;" (primitive_type "bool") (identifier "bVar8") (; ";")) (declaration "byte bVar9;" (type_identifier "byte") (identifier "bVar9") (; ";")) (declaration "undefined1 local_1d;" (type_identifier "undefined1") (identifier "local_1d") (; ";")) (expression_statement "puVar1 = PTR_stdin_00025fd0;" (assignment_expression "puVar1 = PTR_stdin_00025fd0" (identifier "puVar1") (= "=") (identifier "PTR_stdin_00025fd0")) (; ";")) (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" (identifier "bVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1d = 1;" (assignment_expression "local_1d = 1" (identifier "local_1d") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  } while (DAT_00026248 == (FILE *)0x0);" (do "do") (compound_statement "{\n    DAT_00026250 = (byte *)*DAT_0002624c;\n    if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }\n    iVar4 = 2;\n    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;\n    DAT_0002624c = DAT_0002624c + 1;\n    bVar8 = DAT_0002624c == (undefined4 *)0x0;\n    pbVar5 = DAT_00026250;\n    pbVar6 = &DAT_00020619;\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);\n    if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }\n  }" ({ "{") (expression_statement "DAT_00026250 = (byte *)*DAT_0002624c;" (assignment_expression "DAT_00026250 = (byte *)*DAT_0002624c" (identifier "DAT_00026250") (= "=") (cast_expression "(byte *)*DAT_0002624c" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_0002624c" (* "*") (identifier "DAT_0002624c")))) (; ";")) (if_statement "if (DAT_00026250 == (byte *)0x0) {\n      return local_1d;\n    }" (if "if") (parenthesized_expression "(DAT_00026250 == (byte *)0x0)" (( "(") (binary_expression "DAT_00026250 == (byte *)0x0" (identifier "DAT_00026250") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return local_1d;\n    }" ({ "{") (return_statement "return local_1d;" (return "return") (identifier "local_1d") (; ";")) (} "}"))) (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" (identifier "iVar4") (= "=") (number_literal "2")) (; ";")) (expression_statement "bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;" (assignment_expression "bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c" (identifier "bVar7") (= "=") (binary_expression "(undefined4 *)0xfffffffb < DAT_0002624c" (cast_expression "(undefined4 *)0xfffffffb" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffb")) (< "<") (identifier "DAT_0002624c"))) (; ";")) (expression_statement "DAT_0002624c = DAT_0002624c + 1;" (assignment_expression "DAT_0002624c = DAT_0002624c + 1" (identifier "DAT_0002624c") (= "=") (binary_expression "DAT_0002624c + 1" (identifier "DAT_0002624c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar8 = DAT_0002624c == (undefined4 *)0x0;" (assignment_expression "bVar8 = DAT_0002624c == (undefined4 *)0x0" (identifier "bVar8") (= "=") (binary_expression "DAT_0002624c == (undefined4 *)0x0" (identifier "DAT_0002624c") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (expression_statement "pbVar5 = DAT_00026250;" (assignment_expression "pbVar5 = DAT_00026250" (identifier "pbVar5") (= "=") (identifier "DAT_00026250")) (; ";")) (expression_statement "pbVar6 = &DAT_00020619;" (assignment_expression "pbVar6 = &DAT_00020619" (identifier "pbVar6") (= "=") (pointer_expression "&DAT_00020619" (& "&") (identifier "DAT_00020619"))) (; ";")) (do_statement "do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    } while (bVar8);" (do "do") (compound_statement "{\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar7 = *pbVar5 < *pbVar6;\n      bVar8 = *pbVar5 == *pbVar6;\n      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;\n      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (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 "bVar7 = *pbVar5 < *pbVar6;" (assignment_expression "bVar7 = *pbVar5 < *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar5 < *pbVar6" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar8 = *pbVar5 == *pbVar6;" (assignment_expression "bVar8 = *pbVar5 == *pbVar6" (identifier "bVar8") (= "=") (binary_expression "*pbVar5 == *pbVar6" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;" (assignment_expression "pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar5 + (uint)bVar9 * -2 + 1" (binary_expression "pbVar5 + (uint)bVar9 * -2" (identifier "pbVar5") (+ "+") (binary_expression "(uint)bVar9 * -2" (cast_expression "(uint)bVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar9")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;" (assignment_expression "pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + (uint)bVar9 * -2 + 1" (binary_expression "pbVar6 + (uint)bVar9 * -2" (identifier "pbVar6") (+ "+") (binary_expression "(uint)bVar9 * -2" (cast_expression "(uint)bVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar9")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")")) (; ";")) (if_statement "if ((!bVar7 && !bVar8) == bVar7) {\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }\n    else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }" (if "if") (parenthesized_expression "((!bVar7 && !bVar8) == bVar7)" (( "(") (binary_expression "(!bVar7 && !bVar8) == bVar7" (parenthesized_expression "(!bVar7 && !bVar8)" (( "(") (binary_expression "!bVar7 && !bVar8" (unary_expression "!bVar7" (! "!") (identifier "bVar7")) (&& "&&") (unary_expression "!bVar8" (! "!") (identifier "bVar8"))) () ")")) (== "==") (identifier "bVar7")) () ")")) (compound_statement "{\n      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);\n      DAT_00026244 = 1;\n      DAT_00026248 = *(FILE **)puVar1;\n    }" ({ "{") (expression_statement "DAT_00026250 = (byte *)dcgettext(0,"standard input",5);" (assignment_expression "DAT_00026250 = (byte *)dcgettext(0,"standard input",5)" (identifier "DAT_00026250") (= "=") (cast_expression "(byte *)dcgettext(0,"standard input",5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"standard input",5)" (identifier "dcgettext") (argument_list "(0,"standard input",5)" (( "(") (number_literal "0") (, ",") (string_literal ""standard input"" (" """) (string_content "standard input") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "DAT_00026244 = 1;" (assignment_expression "DAT_00026244 = 1" (identifier "DAT_00026244") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00026248 = *(FILE **)puVar1;" (assignment_expression "DAT_00026248 = *(FILE **)puVar1" (identifier "DAT_00026248") (= "=") (pointer_expression "*(FILE **)puVar1" (* "*") (cast_expression "(FILE **)puVar1" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1")))) (; ";")) (} "}")) (else_clause "else {\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }" (else "else") (compound_statement "{\n      DAT_00026248 = fopen64((char *)DAT_00026250,"r");\n      if (DAT_00026248 != (FILE *)0x0) break;\n      uVar2 = FUN_00017b10(0,3,DAT_00026250);\n      piVar3 = __errno_location();\n      error(0,*piVar3,&DAT_0001fa94,uVar2);\n      local_1d = 0;\n    }" ({ "{") (expression_statement "DAT_00026248 = fopen64((char *)DAT_00026250,"r");" (assignment_expression "DAT_00026248 = fopen64((char *)DAT_00026250,"r")" (identifier "DAT_00026248") (= "=") (call_expression "fopen64((char *)DAT_00026250,"r")" (identifier "fopen64") (argument_list "((char *)DAT_00026250,"r")" (( "(") (cast_expression "(char *)DAT_00026250" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "DAT_00026250")) (, ",") (string_literal ""r"" (" """) (string_content "r") (" """)) () ")")))) (; ";")) (if_statement "if (DAT_00026248 != (FILE *)0x0) break;" (if "if") (parenthesized_expression "(DAT_00026248 != (FILE *)0x0)" (( "(") (binary_expression "DAT_00026248 != (FILE *)0x0" (identifier "DAT_00026248") (!= "!=") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar2 = FUN_00017b10(0,3,DAT_00026250);" (assignment_expression "uVar2 = FUN_00017b10(0,3,DAT_00026250)" (identifier "uVar2") (= "=") (call_expression "FUN_00017b10(0,3,DAT_00026250)" (identifier "FUN_00017b10") (argument_list "(0,3,DAT_00026250)" (( "(") (number_literal "0") (, ",") (number_literal "3") (, ",") (identifier "DAT_00026250") () ")")))) (; ";")) (expression_statement "piVar3 = __errno_location();" (assignment_expression "piVar3 = __errno_location()" (identifier "piVar3") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "error(0,*piVar3,&DAT_0001fa94,uVar2);" (call_expression "error(0,*piVar3,&DAT_0001fa94,uVar2)" (identifier "error") (argument_list "(0,*piVar3,&DAT_0001fa94,uVar2)" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (, ",") (pointer_expression "&DAT_0001fa94" (& "&") (identifier "DAT_0001fa94")) (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "local_1d = 0;" (assignment_expression "local_1d = 0" (identifier "local_1d") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "(DAT_00026248 == (FILE *)0x0)" (( "(") (binary_expression "DAT_00026248 == (FILE *)0x0" (identifier "DAT_00026248") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }" (if "if") (parenthesized_expression "((DAT_00026278 != '\0') && (DAT_0002629a == '\0'))" (( "(") (binary_expression "(DAT_00026278 != '\0') && (DAT_0002629a == '\0')" (parenthesized_expression "(DAT_00026278 != '\0')" (( "(") (binary_expression "DAT_00026278 != '\0'" (identifier "DAT_00026278") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_0002629a == '\0')" (( "(") (binary_expression "DAT_0002629a == '\0'" (identifier "DAT_0002629a") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    setvbuf(DAT_00026248,(char *)0x0,2,0);\n  }" ({ "{") (expression_statement "setvbuf(DAT_00026248,(char *)0x0,2,0);" (call_expression "setvbuf(DAT_00026248,(char *)0x0,2,0)" (identifier "setvbuf") (argument_list "(DAT_00026248,(char *)0x0,2,0)" (( "(") (identifier "DAT_00026248") (, ",") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (, ",") (number_literal "2") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (return_statement "return local_1d;" (return "return") (identifier "local_1d") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

type_1 function_1(void)

{
  type_2 *puVar1;
  char *pcVar2;
  int *piVar3;
  int var_2;
  type_3 *var_3;
  type_3 *var_4;
  bool var_5;
  bool bVar8;
  type_3 bVar9;
  type_1 local_1d;
  
  puVar1 = PTR_stdin_00025fd0;
  bVar9 = 0;
  local_1d = true;
  do {
    input_filename = *var_1;
    if ((type_3 *)input_filename == (type_3 *)0x0) {
      return local_1d;
    }
    var_2 = 2;
    var_5 = (char **)0xfffffffb < var_1;
    var_1 = var_1 + 1;
    bVar8 = var_1 == (char **)0x0;
    var_3 = (type_3 *)input_filename;
    var_4 = &DAT_00020619;
    do {
      if (var_2 == 0) break;
      var_2 = var_2 + -1;
      var_5 = *var_3 < *var_4;
      bVar8 = *var_3 == *var_4;
      var_3 = var_3 + (type_4)bVar9 * -2 + 1;
      var_4 = var_4 + (type_4)bVar9 * -2 + 1;
    } while (bVar8);
    if ((!var_5 && !bVar8) == var_5) {
      input_filename = (char *)var_6(0,"standard input",5);
      have_read_stdin = true;
      var_11 = *(type_5 **)puVar1;
    }
    else {
      var_11 = (type_5 *)var_7(input_filename,"r");
      if ((type_5 *)var_11 != (type_5 *)0x0) break;
      pcVar2 = var_8(0,shell_escape_quoting_style,input_filename);
      piVar3 = var_9();
      var_10(0,*piVar3,&DAT_0001fa94,pcVar2);
      local_1d = false;
    }
  } while (var_11 == (type_5 *)0x0);
  if ((var_12 != false) && (var_13 == false)) {
    var_14((type_5 *)var_11,(char *)0x0,2,0);
  }
  return local_1d;
}


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

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

undefined1 MASKED(void)

{
  undefined *puVar1;
  undefined4 uVar2;
  int *piVar3;
  int iVar4;
  byte *pbVar5;
  byte *pbVar6;
  bool bVar7;
  bool bVar8;
  byte bVar9;
  undefined1 local_1d;
  
  puVar1 = PTR_stdin_00025fd0;
  bVar9 = 0;
  local_1d = 1;
  do {
    DAT_00026250 = (byte *)*DAT_0002624c;
    if (DAT_00026250 == (byte *)0x0) {
      return local_1d;
    }
    iVar4 = 2;
    bVar7 = (undefined4 *)0xfffffffb < DAT_0002624c;
    DAT_0002624c = DAT_0002624c + 1;
    bVar8 = DAT_0002624c == (undefined4 *)0x0;
    pbVar5 = DAT_00026250;
    pbVar6 = &DAT_00020619;
    do {
      if (iVar4 == 0) break;
      iVar4 = iVar4 + -1;
      bVar7 = *pbVar5 < *pbVar6;
      bVar8 = *pbVar5 == *pbVar6;
      pbVar5 = pbVar5 + (uint)bVar9 * -2 + 1;
      pbVar6 = pbVar6 + (uint)bVar9 * -2 + 1;
    } while (bVar8);
    if ((!bVar7 && !bVar8) == bVar7) {
      DAT_00026250 = (byte *)dcgettext(0,"standard input",5);
      DAT_00026244 = 1;
      DAT_00026248 = *(FILE **)puVar1;
    }
    else {
      DAT_00026248 = fopen64((char *)DAT_00026250,"r");
      if (DAT_00026248 != (FILE *)0x0) break;
      uVar2 = FUN_00017b10(0,3,DAT_00026250);
      piVar3 = __errno_location();
      error(0,*piVar3,&DAT_0001fa94,uVar2);
      local_1d = 0;
    }
  } while (DAT_00026248 == (FILE *)0x0);
  if ((DAT_00026278 != '\0') && (DAT_0002629a == '\0')) {
    setvbuf(DAT_00026248,(char *)0x0,2,0);
  }
  return local_1d;
}

