
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void close_stdin(void)

{
  FILE *fp;
  undefined *puVar1;
  size_t sVar2;
  int iVar3;
  undefined4 uVar4;
  int *piVar5;
  char *pcVar6;
  
  puVar1 = PTR_stdin_0003afc0;
  fp = *(FILE **)PTR_stdin_0003afc0;
  sVar2 = freadahead(fp);
  if (sVar2 == 0) {
    iVar3 = close_stream(fp);
    if (iVar3 == 0) {
      close_stdout();
      return;
    }
  }
  else {
    iVar3 = rpl_fseeko(fp,0,1);
    if (iVar3 == 0) {
      iVar3 = rpl_fflush(*(FILE **)puVar1);
      if (iVar3 != 0) {
        close_stream(*(FILE **)puVar1);
        goto LAB_0001cea8;
      }
    }
    iVar3 = close_stream(*(FILE **)puVar1);
    if (iVar3 == 0) {
      close_stdout();
      return;
    }
  }
LAB_0001cea8:
  uVar4 = dcgettext(0,"error closing file",5);
  pcVar6 = file_name;
  piVar5 = __errno_location();
  if (pcVar6 != (char *)0x0) {
    pcVar6 = quotearg_colon(pcVar6);
                    /* WARNING: Subroutine does not return */
    error(0,*piVar5,"%s: %s",pcVar6,uVar4);
  }
                    /* WARNING: Subroutine does not return */
  error(0,*piVar5,&DAT_00030816,uVar4);
}



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

void FUN_0001ce30(void)

{
  undefined *puVar1;
  int iVar2;
  undefined4 uVar3;
  int *piVar4;
  undefined4 uVar5;
  
  puVar1 = PTR_stdin_0003afc0;
  uVar3 = *(undefined4 *)PTR_stdin_0003afc0;
  iVar2 = FUN_00024580(uVar3);
  if (iVar2 == 0) {
    iVar2 = FUN_00029140(uVar3);
    if (iVar2 == 0) {
      FUN_0001cfb0();
      return;
    }
  }
  else {
    iVar2 = FUN_000245b0(uVar3,0,0,1);
    if (iVar2 == 0) {
      iVar2 = FUN_00024520(*(undefined4 *)puVar1);
      if (iVar2 != 0) {
        FUN_00029140(*(undefined4 *)puVar1);
        goto LAB_0001cea8;
      }
    }
    iVar2 = FUN_00029140(*(undefined4 *)puVar1);
    if (iVar2 == 0) {
      FUN_0001cfb0();
      return;
    }
  }
LAB_0001cea8:
  uVar3 = dcgettext(0,"error closing file",5);
  iVar2 = DAT_0003b774;
  piVar4 = __errno_location();
  if (iVar2 != 0) {
    uVar5 = FUN_00020d90(iVar2);
                    /* WARNING: Subroutine does not return */
    error(0,*piVar4,"%s: %s",uVar5,uVar3);
  }
                    /* WARNING: Subroutine does not return */
  error(0,*piVar4,&DAT_00030816,uVar3);
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x000132d0
ADD EBX,0x1e1c7
SUB ESP,0x18
MOV EDI,dword ptr [EBX + 0xffffffc0]
MOV ESI,dword ptr [EDI]
PUSH ESI
CALL 0x00024580
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001cf10
SUB ESP,0xc
PUSH ESI
CALL 0x00029140
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001cea8
CALL 0x0001cfb0
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH dword ptr [EDI]
CALL 0x00024520
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001cf27
SUB ESP,0xc
PUSH dword ptr [EDI]
CALL 0x00029140
ADD ESP,0x10
LEA ESI,[ESI]
SUB ESP,0x4
LEA EAX,[EBX + 0xffff58a0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000121e0
MOV ESI,dword ptr [EBX + 0x774]
MOV EDI,EAX
CALL 0x00012590
ADD ESP,0x10
MOV EBP,EAX
TEST ESI,ESI
JZ 0x0001cf50
SUB ESP,0xc
PUSH ESI
CALL 0x00020d90
MOV dword ptr [ESP],EDI
PUSH EAX
LEA EAX,[EBX + 0xffff58b3]
PUSH EAX
PUSH dword ptr [EBP]
PUSH 0x0
CALL 0x00012390
PUSH 0x1
PUSH 0x0
PUSH 0x0
PUSH ESI
CALL 0x000245b0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001ce80
SUB ESP,0xc
PUSH dword ptr [EDI]
CALL 0x00029140
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001cea8
CALL 0x0001cfb0
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBX + 0xffff5816]
PUSH EDI
PUSH EAX
PUSH dword ptr [EBP]
PUSH 0x0
CALL 0x00012390
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0001ce30(void)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  \n  puVar1 = PTR_stdin_0003afc0;\n  uVar3 = *(undefined4 *)PTR_stdin_0003afc0;\n  iVar2 = FUN_00024580(uVar3);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\n  else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\nLAB_0001cea8:\n  uVar3 = dcgettext(0,"error closing file",5);\n  iVar2 = DAT_0003b774;\n  piVar4 = __errno_location();\n  if (iVar2 != 0) {\n    uVar5 = FUN_00020d90(iVar2);\n                    /* WARNING: Subroutine does not return */\n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }\n                    /* WARNING: Subroutine does not return */\n  error(0,*piVar4,&DAT_00030816,uVar3);\n}\n\n" comment (function_definition "void FUN_0001ce30(void)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  \n  puVar1 = PTR_stdin_0003afc0;\n  uVar3 = *(undefined4 *)PTR_stdin_0003afc0;\n  iVar2 = FUN_00024580(uVar3);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\n  else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\nLAB_0001cea8:\n  uVar3 = dcgettext(0,"error closing file",5);\n  iVar2 = DAT_0003b774;\n  piVar4 = __errno_location();\n  if (iVar2 != 0) {\n    uVar5 = FUN_00020d90(iVar2);\n                    /* WARNING: Subroutine does not return */\n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }\n                    /* WARNING: Subroutine does not return */\n  error(0,*piVar4,&DAT_00030816,uVar3);\n}" primitive_type (function_declarator "FUN_0001ce30(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  \n  puVar1 = PTR_stdin_0003afc0;\n  uVar3 = *(undefined4 *)PTR_stdin_0003afc0;\n  iVar2 = FUN_00024580(uVar3);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\n  else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\nLAB_0001cea8:\n  uVar3 = dcgettext(0,"error closing file",5);\n  iVar2 = DAT_0003b774;\n  piVar4 = __errno_location();\n  if (iVar2 != 0) {\n    uVar5 = FUN_00020d90(iVar2);\n                    /* WARNING: Subroutine does not return */\n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }\n                    /* WARNING: Subroutine does not return */\n  error(0,*piVar4,&DAT_00030816,uVar3);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_stdin_0003afc0;" (assignment_expression "puVar1 = PTR_stdin_0003afc0" identifier = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)PTR_stdin_0003afc0;" (assignment_expression "uVar3 = *(undefined4 *)PTR_stdin_0003afc0" identifier = (pointer_expression "*(undefined4 *)PTR_stdin_0003afc0" * (cast_expression "(undefined4 *)PTR_stdin_0003afc0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar2 = FUN_00024580(uVar3);" (assignment_expression "iVar2 = FUN_00024580(uVar3)" identifier = (call_expression "FUN_00024580(uVar3)" identifier (argument_list "(uVar3)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\n  else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" { (expression_statement "iVar2 = FUN_00029140(uVar3);" (assignment_expression "iVar2 = FUN_00029140(uVar3)" identifier = (call_expression "FUN_00029140(uVar3)" identifier (argument_list "(uVar3)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_0001cfb0();\n      return;\n    }" { (expression_statement "FUN_0001cfb0();" (call_expression "FUN_0001cfb0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" else (compound_statement "{\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" { (expression_statement "iVar2 = FUN_000245b0(uVar3,0,0,1);" (assignment_expression "iVar2 = FUN_000245b0(uVar3,0,0,1)" identifier = (call_expression "FUN_000245b0(uVar3,0,0,1)" identifier (argument_list "(uVar3,0,0,1)" ( identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }" { (expression_statement "iVar2 = FUN_00024520(*(undefined4 *)puVar1);" (assignment_expression "iVar2 = FUN_00024520(*(undefined4 *)puVar1)" identifier = (call_expression "FUN_00024520(*(undefined4 *)puVar1)" identifier (argument_list "(*(undefined4 *)puVar1)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }" { (expression_statement "FUN_00029140(*(undefined4 *)puVar1);" (call_expression "FUN_00029140(*(undefined4 *)puVar1)" identifier (argument_list "(*(undefined4 *)puVar1)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (goto_statement "goto LAB_0001cea8;" goto statement_identifier ;) })) })) (expression_statement "iVar2 = FUN_00029140(*(undefined4 *)puVar1);" (assignment_expression "iVar2 = FUN_00029140(*(undefined4 *)puVar1)" identifier = (call_expression "FUN_00029140(*(undefined4 *)puVar1)" identifier (argument_list "(*(undefined4 *)puVar1)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_0001cfb0();\n      return;\n    }" { (expression_statement "FUN_0001cfb0();" (call_expression "FUN_0001cfb0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }))) (labeled_statement "LAB_0001cea8:\n  uVar3 = dcgettext(0,"error closing file",5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,"error closing file",5);" (assignment_expression "uVar3 = dcgettext(0,"error closing file",5)" identifier = (call_expression "dcgettext(0,"error closing file",5)" identifier (argument_list "(0,"error closing file",5)" ( number_literal , (string_literal ""error closing file"" " string_content ") , number_literal )))) ;)) (expression_statement "iVar2 = DAT_0003b774;" (assignment_expression "iVar2 = DAT_0003b774" identifier = identifier) ;) (expression_statement "piVar4 = __errno_location();" (assignment_expression "piVar4 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar5 = FUN_00020d90(iVar2);\n                    /* WARNING: Subroutine does not return */\n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = FUN_00020d90(iVar2);\n                    /* WARNING: Subroutine does not return */\n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }" { (expression_statement "uVar5 = FUN_00020d90(iVar2);" (assignment_expression "uVar5 = FUN_00020d90(iVar2)" identifier = (call_expression "FUN_00020d90(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) ;) comment (expression_statement "error(0,*piVar4,"%s: %s",uVar5,uVar3);" (call_expression "error(0,*piVar4,"%s: %s",uVar5,uVar3)" identifier (argument_list "(0,*piVar4,"%s: %s",uVar5,uVar3)" ( number_literal , (pointer_expression "*piVar4" * identifier) , (string_literal ""%s: %s"" " string_content ") , identifier , identifier ))) ;) })) comment (expression_statement "error(0,*piVar4,&DAT_00030816,uVar3);" (call_expression "error(0,*piVar4,&DAT_00030816,uVar3)" identifier (argument_list "(0,*piVar4,&DAT_00030816,uVar3)" ( number_literal , (pointer_expression "*piVar4" * identifier) , (pointer_expression "&DAT_00030816" & identifier) , identifier ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid close_stdin(void)\n\n{\n  FILE *fp;\n  undefined *puVar1;\n  size_t sVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  char *pcVar6;\n  \n  puVar1 = PTR_stdin_0003afc0;\n  fp = *(FILE **)PTR_stdin_0003afc0;\n  sVar2 = freadahead(fp);\n  if (sVar2 == 0) {\n    iVar3 = close_stream(fp);\n    if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }\n  }\n  else {\n    iVar3 = rpl_fseeko(fp,0,1);\n    if (iVar3 == 0) {\n      iVar3 = rpl_fflush(*(FILE **)puVar1);\n      if (iVar3 != 0) {\n        close_stream(*(FILE **)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar3 = close_stream(*(FILE **)puVar1);\n    if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }\n  }\nLAB_0001cea8:\n  uVar4 = dcgettext(0,"error closing file",5);\n  pcVar6 = file_name;\n  piVar5 = __errno_location();\n  if (pcVar6 != (char *)0x0) {\n    pcVar6 = quotearg_colon(pcVar6);\n                    /* WARNING: Subroutine does not return */\n    error(0,*piVar5,"%s: %s",pcVar6,uVar4);\n  }\n                    /* WARNING: Subroutine does not return */\n  error(0,*piVar5,&DAT_00030816,uVar4);\n}\n\n" comment comment (function_definition "void close_stdin(void)\n\n{\n  FILE *fp;\n  undefined *puVar1;\n  size_t sVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  char *pcVar6;\n  \n  puVar1 = PTR_stdin_0003afc0;\n  fp = *(FILE **)PTR_stdin_0003afc0;\n  sVar2 = freadahead(fp);\n  if (sVar2 == 0) {\n    iVar3 = close_stream(fp);\n    if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }\n  }\n  else {\n    iVar3 = rpl_fseeko(fp,0,1);\n    if (iVar3 == 0) {\n      iVar3 = rpl_fflush(*(FILE **)puVar1);\n      if (iVar3 != 0) {\n        close_stream(*(FILE **)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar3 = close_stream(*(FILE **)puVar1);\n    if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }\n  }\nLAB_0001cea8:\n  uVar4 = dcgettext(0,"error closing file",5);\n  pcVar6 = file_name;\n  piVar5 = __errno_location();\n  if (pcVar6 != (char *)0x0) {\n    pcVar6 = quotearg_colon(pcVar6);\n                    /* WARNING: Subroutine does not return */\n    error(0,*piVar5,"%s: %s",pcVar6,uVar4);\n  }\n                    /* WARNING: Subroutine does not return */\n  error(0,*piVar5,&DAT_00030816,uVar4);\n}" primitive_type (function_declarator "close_stdin(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  FILE *fp;\n  undefined *puVar1;\n  size_t sVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  char *pcVar6;\n  \n  puVar1 = PTR_stdin_0003afc0;\n  fp = *(FILE **)PTR_stdin_0003afc0;\n  sVar2 = freadahead(fp);\n  if (sVar2 == 0) {\n    iVar3 = close_stream(fp);\n    if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }\n  }\n  else {\n    iVar3 = rpl_fseeko(fp,0,1);\n    if (iVar3 == 0) {\n      iVar3 = rpl_fflush(*(FILE **)puVar1);\n      if (iVar3 != 0) {\n        close_stream(*(FILE **)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar3 = close_stream(*(FILE **)puVar1);\n    if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }\n  }\nLAB_0001cea8:\n  uVar4 = dcgettext(0,"error closing file",5);\n  pcVar6 = file_name;\n  piVar5 = __errno_location();\n  if (pcVar6 != (char *)0x0) {\n    pcVar6 = quotearg_colon(pcVar6);\n                    /* WARNING: Subroutine does not return */\n    error(0,*piVar5,"%s: %s",pcVar6,uVar4);\n  }\n                    /* WARNING: Subroutine does not return */\n  error(0,*piVar5,&DAT_00030816,uVar4);\n}" { (declaration "FILE *fp;" type_identifier (pointer_declarator "*fp" * identifier) ;) (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (expression_statement "puVar1 = PTR_stdin_0003afc0;" (assignment_expression "puVar1 = PTR_stdin_0003afc0" identifier = identifier) ;) (expression_statement "fp = *(FILE **)PTR_stdin_0003afc0;" (assignment_expression "fp = *(FILE **)PTR_stdin_0003afc0" identifier = (pointer_expression "*(FILE **)PTR_stdin_0003afc0" * (cast_expression "(FILE **)PTR_stdin_0003afc0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "sVar2 = freadahead(fp);" (assignment_expression "sVar2 = freadahead(fp)" identifier = (call_expression "freadahead(fp)" identifier (argument_list "(fp)" ( identifier )))) ;) (if_statement "if (sVar2 == 0) {\n    iVar3 = close_stream(fp);\n    if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }\n  }\n  else {\n    iVar3 = rpl_fseeko(fp,0,1);\n    if (iVar3 == 0) {\n      iVar3 = rpl_fflush(*(FILE **)puVar1);\n      if (iVar3 != 0) {\n        close_stream(*(FILE **)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar3 = close_stream(*(FILE **)puVar1);\n    if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }\n  }" if (parenthesized_expression "(sVar2 == 0)" ( (binary_expression "sVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = close_stream(fp);\n    if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }\n  }" { (expression_statement "iVar3 = close_stream(fp);" (assignment_expression "iVar3 = close_stream(fp)" identifier = (call_expression "close_stream(fp)" identifier (argument_list "(fp)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      close_stdout();\n      return;\n    }" { (expression_statement "close_stdout();" (call_expression "close_stdout()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n    iVar3 = rpl_fseeko(fp,0,1);\n    if (iVar3 == 0) {\n      iVar3 = rpl_fflush(*(FILE **)puVar1);\n      if (iVar3 != 0) {\n        close_stream(*(FILE **)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar3 = close_stream(*(FILE **)puVar1);\n    if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }\n  }" else (compound_statement "{\n    iVar3 = rpl_fseeko(fp,0,1);\n    if (iVar3 == 0) {\n      iVar3 = rpl_fflush(*(FILE **)puVar1);\n      if (iVar3 != 0) {\n        close_stream(*(FILE **)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar3 = close_stream(*(FILE **)puVar1);\n    if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }\n  }" { (expression_statement "iVar3 = rpl_fseeko(fp,0,1);" (assignment_expression "iVar3 = rpl_fseeko(fp,0,1)" identifier = (call_expression "rpl_fseeko(fp,0,1)" identifier (argument_list "(fp,0,1)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n      iVar3 = rpl_fflush(*(FILE **)puVar1);\n      if (iVar3 != 0) {\n        close_stream(*(FILE **)puVar1);\n        goto LAB_0001cea8;\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = rpl_fflush(*(FILE **)puVar1);\n      if (iVar3 != 0) {\n        close_stream(*(FILE **)puVar1);\n        goto LAB_0001cea8;\n      }\n    }" { (expression_statement "iVar3 = rpl_fflush(*(FILE **)puVar1);" (assignment_expression "iVar3 = rpl_fflush(*(FILE **)puVar1)" identifier = (call_expression "rpl_fflush(*(FILE **)puVar1)" identifier (argument_list "(*(FILE **)puVar1)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )))) ;) (if_statement "if (iVar3 != 0) {\n        close_stream(*(FILE **)puVar1);\n        goto LAB_0001cea8;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        close_stream(*(FILE **)puVar1);\n        goto LAB_0001cea8;\n      }" { (expression_statement "close_stream(*(FILE **)puVar1);" (call_expression "close_stream(*(FILE **)puVar1)" identifier (argument_list "(*(FILE **)puVar1)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (goto_statement "goto LAB_0001cea8;" goto statement_identifier ;) })) })) (expression_statement "iVar3 = close_stream(*(FILE **)puVar1);" (assignment_expression "iVar3 = close_stream(*(FILE **)puVar1)" identifier = (call_expression "close_stream(*(FILE **)puVar1)" identifier (argument_list "(*(FILE **)puVar1)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )))) ;) (if_statement "if (iVar3 == 0) {\n      close_stdout();\n      return;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      close_stdout();\n      return;\n    }" { (expression_statement "close_stdout();" (call_expression "close_stdout()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }))) (labeled_statement "LAB_0001cea8:\n  uVar4 = dcgettext(0,"error closing file",5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,"error closing file",5);" (assignment_expression "uVar4 = dcgettext(0,"error closing file",5)" identifier = (call_expression "dcgettext(0,"error closing file",5)" identifier (argument_list "(0,"error closing file",5)" ( number_literal , (string_literal ""error closing file"" " string_content ") , number_literal )))) ;)) (expression_statement "pcVar6 = file_name;" (assignment_expression "pcVar6 = file_name" identifier = identifier) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (pcVar6 != (char *)0x0) {\n    pcVar6 = quotearg_colon(pcVar6);\n                    /* WARNING: Subroutine does not return */\n    error(0,*piVar5,"%s: %s",pcVar6,uVar4);\n  }" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar6 = quotearg_colon(pcVar6);\n                    /* WARNING: Subroutine does not return */\n    error(0,*piVar5,"%s: %s",pcVar6,uVar4);\n  }" { (expression_statement "pcVar6 = quotearg_colon(pcVar6);" (assignment_expression "pcVar6 = quotearg_colon(pcVar6)" identifier = (call_expression "quotearg_colon(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) ;) comment (expression_statement "error(0,*piVar5,"%s: %s",pcVar6,uVar4);" (call_expression "error(0,*piVar5,"%s: %s",pcVar6,uVar4)" identifier (argument_list "(0,*piVar5,"%s: %s",pcVar6,uVar4)" ( number_literal , (pointer_expression "*piVar5" * identifier) , (string_literal ""%s: %s"" " string_content ") , identifier , identifier ))) ;) })) comment (expression_statement "error(0,*piVar5,&DAT_00030816,uVar4);" (call_expression "error(0,*piVar5,&DAT_00030816,uVar4)" identifier (argument_list "(0,*piVar5,&DAT_00030816,uVar4)" ( number_literal , (pointer_expression "*piVar5" * identifier) , (pointer_expression "&DAT_00030816" & identifier) , identifier ))) ;) })))
(translation_unit "void FUN_0001ce30(void)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  \n  puVar1 = PTR_stdin_0003afc0;\n  uVar3 = *(undefined4 *)PTR_stdin_0003afc0;\n  iVar2 = FUN_00024580(uVar3);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\n  else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\nLAB_0001cea8:\n  uVar3 = dcgettext(0,"error closing file",5);\n  iVar2 = DAT_0003b774;\n  piVar4 = __errno_location();\n  if (iVar2 != 0) {\n    uVar5 = FUN_00020d90(iVar2);\n                    \n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }\n                    \n  error(0,*piVar4,&DAT_00030816,uVar3);\n}\n\n" (function_definition "void FUN_0001ce30(void)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  \n  puVar1 = PTR_stdin_0003afc0;\n  uVar3 = *(undefined4 *)PTR_stdin_0003afc0;\n  iVar2 = FUN_00024580(uVar3);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\n  else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\nLAB_0001cea8:\n  uVar3 = dcgettext(0,"error closing file",5);\n  iVar2 = DAT_0003b774;\n  piVar4 = __errno_location();\n  if (iVar2 != 0) {\n    uVar5 = FUN_00020d90(iVar2);\n                    \n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }\n                    \n  error(0,*piVar4,&DAT_00030816,uVar3);\n}" primitive_type (function_declarator "FUN_0001ce30(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  \n  puVar1 = PTR_stdin_0003afc0;\n  uVar3 = *(undefined4 *)PTR_stdin_0003afc0;\n  iVar2 = FUN_00024580(uVar3);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\n  else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\nLAB_0001cea8:\n  uVar3 = dcgettext(0,"error closing file",5);\n  iVar2 = DAT_0003b774;\n  piVar4 = __errno_location();\n  if (iVar2 != 0) {\n    uVar5 = FUN_00020d90(iVar2);\n                    \n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }\n                    \n  error(0,*piVar4,&DAT_00030816,uVar3);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_stdin_0003afc0;" (assignment_expression "puVar1 = PTR_stdin_0003afc0" identifier = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)PTR_stdin_0003afc0;" (assignment_expression "uVar3 = *(undefined4 *)PTR_stdin_0003afc0" identifier = (pointer_expression "*(undefined4 *)PTR_stdin_0003afc0" * (cast_expression "(undefined4 *)PTR_stdin_0003afc0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar2 = FUN_00024580(uVar3);" (assignment_expression "iVar2 = FUN_00024580(uVar3)" identifier = (call_expression "FUN_00024580(uVar3)" identifier (argument_list "(uVar3)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\n  else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" { (expression_statement "iVar2 = FUN_00029140(uVar3);" (assignment_expression "iVar2 = FUN_00029140(uVar3)" identifier = (call_expression "FUN_00029140(uVar3)" identifier (argument_list "(uVar3)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_0001cfb0();\n      return;\n    }" { (expression_statement "FUN_0001cfb0();" (call_expression "FUN_0001cfb0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" else (compound_statement "{\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" { (expression_statement "iVar2 = FUN_000245b0(uVar3,0,0,1);" (assignment_expression "iVar2 = FUN_000245b0(uVar3,0,0,1)" identifier = (call_expression "FUN_000245b0(uVar3,0,0,1)" identifier (argument_list "(uVar3,0,0,1)" ( identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }" { (expression_statement "iVar2 = FUN_00024520(*(undefined4 *)puVar1);" (assignment_expression "iVar2 = FUN_00024520(*(undefined4 *)puVar1)" identifier = (call_expression "FUN_00024520(*(undefined4 *)puVar1)" identifier (argument_list "(*(undefined4 *)puVar1)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }" { (expression_statement "FUN_00029140(*(undefined4 *)puVar1);" (call_expression "FUN_00029140(*(undefined4 *)puVar1)" identifier (argument_list "(*(undefined4 *)puVar1)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (goto_statement "goto LAB_0001cea8;" goto statement_identifier ;) })) })) (expression_statement "iVar2 = FUN_00029140(*(undefined4 *)puVar1);" (assignment_expression "iVar2 = FUN_00029140(*(undefined4 *)puVar1)" identifier = (call_expression "FUN_00029140(*(undefined4 *)puVar1)" identifier (argument_list "(*(undefined4 *)puVar1)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_0001cfb0();\n      return;\n    }" { (expression_statement "FUN_0001cfb0();" (call_expression "FUN_0001cfb0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }))) (labeled_statement "LAB_0001cea8:\n  uVar3 = dcgettext(0,"error closing file",5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,"error closing file",5);" (assignment_expression "uVar3 = dcgettext(0,"error closing file",5)" identifier = (call_expression "dcgettext(0,"error closing file",5)" identifier (argument_list "(0,"error closing file",5)" ( number_literal , (string_literal ""error closing file"" " string_content ") , number_literal )))) ;)) (expression_statement "iVar2 = DAT_0003b774;" (assignment_expression "iVar2 = DAT_0003b774" identifier = identifier) ;) (expression_statement "piVar4 = __errno_location();" (assignment_expression "piVar4 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar5 = FUN_00020d90(iVar2);\n                    \n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = FUN_00020d90(iVar2);\n                    \n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }" { (expression_statement "uVar5 = FUN_00020d90(iVar2);" (assignment_expression "uVar5 = FUN_00020d90(iVar2)" identifier = (call_expression "FUN_00020d90(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "error(0,*piVar4,"%s: %s",uVar5,uVar3);" (call_expression "error(0,*piVar4,"%s: %s",uVar5,uVar3)" identifier (argument_list "(0,*piVar4,"%s: %s",uVar5,uVar3)" ( number_literal , (pointer_expression "*piVar4" * identifier) , (string_literal ""%s: %s"" " string_content ") , identifier , identifier ))) ;) })) (expression_statement "error(0,*piVar4,&DAT_00030816,uVar3);" (call_expression "error(0,*piVar4,&DAT_00030816,uVar3)" identifier (argument_list "(0,*piVar4,&DAT_00030816,uVar3)" ( number_literal , (pointer_expression "*piVar4" * identifier) , (pointer_expression "&DAT_00030816" & identifier) , 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (string_literal " string_content ") , IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) })))
(function_definition "void FUN_0001ce30(void)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  \n  puVar1 = PTR_stdin_0003afc0;\n  uVar3 = *(undefined4 *)PTR_stdin_0003afc0;\n  iVar2 = FUN_00024580(uVar3);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\n  else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\nLAB_0001cea8:\n  uVar3 = dcgettext(0,"error closing file",5);\n  iVar2 = DAT_0003b774;\n  piVar4 = __errno_location();\n  if (iVar2 != 0) {\n    uVar5 = FUN_00020d90(iVar2);\n                    \n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }\n                    \n  error(0,*piVar4,&DAT_00030816,uVar3);\n}" (primitive_type "void") (function_declarator "FUN_0001ce30(void)" (identifier "FUN_0001ce30") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  \n  puVar1 = PTR_stdin_0003afc0;\n  uVar3 = *(undefined4 *)PTR_stdin_0003afc0;\n  iVar2 = FUN_00024580(uVar3);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\n  else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\nLAB_0001cea8:\n  uVar3 = dcgettext(0,"error closing file",5);\n  iVar2 = DAT_0003b774;\n  piVar4 = __errno_location();\n  if (iVar2 != 0) {\n    uVar5 = FUN_00020d90(iVar2);\n                    \n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }\n                    \n  error(0,*piVar4,&DAT_00030816,uVar3);\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (expression_statement "puVar1 = PTR_stdin_0003afc0;" (assignment_expression "puVar1 = PTR_stdin_0003afc0" (identifier "puVar1") (= "=") (identifier "PTR_stdin_0003afc0")) (; ";")) (expression_statement "uVar3 = *(undefined4 *)PTR_stdin_0003afc0;" (assignment_expression "uVar3 = *(undefined4 *)PTR_stdin_0003afc0" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)PTR_stdin_0003afc0" (* "*") (cast_expression "(undefined4 *)PTR_stdin_0003afc0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdin_0003afc0")))) (; ";")) (expression_statement "iVar2 = FUN_00024580(uVar3);" (assignment_expression "iVar2 = FUN_00024580(uVar3)" (identifier "iVar2") (= "=") (call_expression "FUN_00024580(uVar3)" (identifier "FUN_00024580") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }\n  else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar2 = FUN_00029140(uVar3);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" ({ "{") (expression_statement "iVar2 = FUN_00029140(uVar3);" (assignment_expression "iVar2 = FUN_00029140(uVar3)" (identifier "iVar2") (= "=") (call_expression "FUN_00029140(uVar3)" (identifier "FUN_00029140") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0001cfb0();\n      return;\n    }" ({ "{") (expression_statement "FUN_0001cfb0();" (call_expression "FUN_0001cfb0()" (identifier "FUN_0001cfb0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" (else "else") (compound_statement "{\n    iVar2 = FUN_000245b0(uVar3,0,0,1);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }\n    iVar2 = FUN_00029140(*(undefined4 *)puVar1);\n    if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }\n  }" ({ "{") (expression_statement "iVar2 = FUN_000245b0(uVar3,0,0,1);" (assignment_expression "iVar2 = FUN_000245b0(uVar3,0,0,1)" (identifier "iVar2") (= "=") (call_expression "FUN_000245b0(uVar3,0,0,1)" (identifier "FUN_000245b0") (argument_list "(uVar3,0,0,1)" (( "(") (identifier "uVar3") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar2 = FUN_00024520(*(undefined4 *)puVar1);\n      if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }\n    }" ({ "{") (expression_statement "iVar2 = FUN_00024520(*(undefined4 *)puVar1);" (assignment_expression "iVar2 = FUN_00024520(*(undefined4 *)puVar1)" (identifier "iVar2") (= "=") (call_expression "FUN_00024520(*(undefined4 *)puVar1)" (identifier "FUN_00024520") (argument_list "(*(undefined4 *)puVar1)" (( "(") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_00029140(*(undefined4 *)puVar1);\n        goto LAB_0001cea8;\n      }" ({ "{") (expression_statement "FUN_00029140(*(undefined4 *)puVar1);" (call_expression "FUN_00029140(*(undefined4 *)puVar1)" (identifier "FUN_00029140") (argument_list "(*(undefined4 *)puVar1)" (( "(") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")"))) (; ";")) (goto_statement "goto LAB_0001cea8;" (goto "goto") (statement_identifier "LAB_0001cea8") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar2 = FUN_00029140(*(undefined4 *)puVar1);" (assignment_expression "iVar2 = FUN_00029140(*(undefined4 *)puVar1)" (identifier "iVar2") (= "=") (call_expression "FUN_00029140(*(undefined4 *)puVar1)" (identifier "FUN_00029140") (argument_list "(*(undefined4 *)puVar1)" (( "(") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n      FUN_0001cfb0();\n      return;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0001cfb0();\n      return;\n    }" ({ "{") (expression_statement "FUN_0001cfb0();" (call_expression "FUN_0001cfb0()" (identifier "FUN_0001cfb0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0001cea8:\n  uVar3 = dcgettext(0,"error closing file",5);" (statement_identifier "LAB_0001cea8") (: ":") (expression_statement "uVar3 = dcgettext(0,"error closing file",5);" (assignment_expression "uVar3 = dcgettext(0,"error closing file",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"error closing file",5)" (identifier "dcgettext") (argument_list "(0,"error closing file",5)" (( "(") (number_literal "0") (, ",") (string_literal ""error closing file"" (" """) (string_content "error closing file") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "iVar2 = DAT_0003b774;" (assignment_expression "iVar2 = DAT_0003b774" (identifier "iVar2") (= "=") (identifier "DAT_0003b774")) (; ";")) (expression_statement "piVar4 = __errno_location();" (assignment_expression "piVar4 = __errno_location()" (identifier "piVar4") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    uVar5 = FUN_00020d90(iVar2);\n                    \n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar5 = FUN_00020d90(iVar2);\n                    \n    error(0,*piVar4,"%s: %s",uVar5,uVar3);\n  }" ({ "{") (expression_statement "uVar5 = FUN_00020d90(iVar2);" (assignment_expression "uVar5 = FUN_00020d90(iVar2)" (identifier "uVar5") (= "=") (call_expression "FUN_00020d90(iVar2)" (identifier "FUN_00020d90") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";")) (expression_statement "error(0,*piVar4,"%s: %s",uVar5,uVar3);" (call_expression "error(0,*piVar4,"%s: %s",uVar5,uVar3)" (identifier "error") (argument_list "(0,*piVar4,"%s: %s",uVar5,uVar3)" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (, ",") (string_literal ""%s: %s"" (" """) (string_content "%s: %s") (" """)) (, ",") (identifier "uVar5") (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}"))) (expression_statement "error(0,*piVar4,&DAT_00030816,uVar3);" (call_expression "error(0,*piVar4,&DAT_00030816,uVar3)" (identifier "error") (argument_list "(0,*piVar4,&DAT_00030816,uVar3)" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (, ",") (pointer_expression "&DAT_00030816" (& "&") (identifier "DAT_00030816")) (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  type_1 *fp;
  type_2 *puVar1;
  size_t var_2;
  int var_4;
  type_3 uVar4;
  int *piVar5;
  char *var_10;
  
  puVar1 = PTR_stdin_0003afc0;
  fp = *(type_1 **)PTR_stdin_0003afc0;
  var_2 = var_1(fp);
  if (var_2 == 0) {
    var_4 = var_3(fp);
    if (var_4 == 0) {
      var_5();
      return;
    }
  }
  else {
    var_4 = var_6(fp,0,1);
    if (var_4 == 0) {
      var_4 = var_7(*(type_1 **)puVar1);
      if (var_4 != 0) {
        var_3(*(type_1 **)puVar1);
        goto LAB_0001cea8;
      }
    }
    var_4 = var_3(*(type_1 **)puVar1);
    if (var_4 == 0) {
      var_5();
      return;
    }
  }
LAB_0001cea8:
  uVar4 = var_8(0,"error closing file",5);
  var_10 = file_name;
  piVar5 = var_9();
  if (var_10 != (char *)0x0) {
    var_10 = var_11(var_10);
                    /* WARNING: Subroutine does not return */
    var_12(0,*piVar5,"%s: %s",var_10,uVar4);
  }
                    /* WARNING: Subroutine does not return */
  var_12(0,*piVar5,&DAT_00030816,uVar4);
}


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

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

void MASKED(void)

{
  undefined *puVar1;
  int iVar2;
  undefined4 uVar3;
  int *piVar4;
  undefined4 uVar5;
  
  puVar1 = PTR_stdin_0003afc0;
  uVar3 = *(undefined4 *)PTR_stdin_0003afc0;
  iVar2 = FUN_00024580(uVar3);
  if (iVar2 == 0) {
    iVar2 = FUN_00029140(uVar3);
    if (iVar2 == 0) {
      FUN_0001cfb0();
      return;
    }
  }
  else {
    iVar2 = FUN_000245b0(uVar3,0,0,1);
    if (iVar2 == 0) {
      iVar2 = FUN_00024520(*(undefined4 *)puVar1);
      if (iVar2 != 0) {
        FUN_00029140(*(undefined4 *)puVar1);
        goto LAB_0001cea8;
      }
    }
    iVar2 = FUN_00029140(*(undefined4 *)puVar1);
    if (iVar2 == 0) {
      FUN_0001cfb0();
      return;
    }
  }
LAB_0001cea8:
  uVar3 = dcgettext(0,"error closing file",5);
  iVar2 = DAT_0003b774;
  piVar4 = __errno_location();
  if (iVar2 != 0) {
    uVar5 = FUN_00020d90(iVar2);
                    /* WARNING: Subroutine does not return */
    error(0,*piVar4,"%s: %s",uVar5,uVar3);
  }
                    /* WARNING: Subroutine does not return */
  error(0,*piVar4,&DAT_00030816,uVar3);
}

