
void ar_open(char *name,int t)

{
  bfd **ppbVar1;
  int iVar2;
  size_t sVar3;
  char *pcVar4;
  long lVar5;
  char *__format;
  bfd *pbVar6;
  char *pcVar7;
  
  sVar3 = strlen(name);
  pcVar4 = (char *)xmalloc(sVar3 + 10);
  lVar5 = lbasename(name);
  real_name = name;
  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)name,name,lVar5);
  obfd = (bfd *)bfd_openw(pcVar4,0);
  pcVar7 = program_name;
  if (obfd == (bfd *)0x0) {
    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);
  }
  else {
    if (t != 0) {
LAB_001066c1:
      bfd_set_format(obfd,2);
      *(ushort *)&obfd->field_0x47 = *(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80;
      return;
    }
    lVar5 = bfd_openr(name,0);
    pcVar7 = program_name;
    pcVar4 = name;
    if (lVar5 == 0) {
      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);
    }
    else {
      iVar2 = bfd_check_format(lVar5,2);
      pcVar7 = program_name;
      if (iVar2 != 0) {
        ppbVar1 = &obfd->archive_head;
        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;
            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {
          *ppbVar1 = pbVar6;
          ppbVar1 = &pbVar6->archive_next;
        }
        goto LAB_001066c1;
      }
      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);
    }
  }
  fprintf(stderr,__format,pcVar7,pcVar4);
  if (interactive != 0) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  xexit(9);
}



void FUN_001065a0(char *param_1,int param_2)

{
  long *plVar1;
  int iVar2;
  size_t sVar3;
  char *pcVar4;
  long lVar5;
  char *__format;
  long lVar6;
  undefined8 uVar7;
  
  sVar3 = strlen(param_1);
  pcVar4 = (char *)xmalloc(sVar3 + 10);
  lVar5 = lbasename(param_1);
  DAT_00110540 = param_1;
  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);
  DAT_00110548 = bfd_openw(pcVar4,0);
  uVar7 = DAT_001106b0;
  if (DAT_00110548 == 0) {
    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);
  }
  else {
    if (param_2 != 0) {
LAB_001066c1:
      bfd_set_format(DAT_00110548,2);
      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;
      return;
    }
    lVar5 = bfd_openr(param_1,0);
    uVar7 = DAT_001106b0;
    pcVar4 = param_1;
    if (lVar5 == 0) {
      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);
    }
    else {
      iVar2 = bfd_check_format(lVar5,2);
      uVar7 = DAT_001106b0;
      if (iVar2 != 0) {
        plVar1 = (long *)(DAT_00110548 + 0xe0);
        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;
            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {
          *plVar1 = lVar6;
          plVar1 = (long *)(lVar6 + 0xd8);
        }
        goto LAB_001066c1;
      }
      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);
    }
  }
  fprintf(stderr,__format,uVar7,pcVar4);
  if (DAT_00110474 != 0) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  xexit(9);
}


PUSH R12
MOV R12D,ESI
PUSH RBP
PUSH RBX
MOV RBX,RDI
CALL 0x001021c0
LEA RDI,[RAX + 0xa]
CALL 0x00102270
MOV RDI,RBX
MOV RBP,RAX
CALL 0x001022f0
MOV RCX,RBX
MOV RDI,RBP
LEA RSI,[0x10c0b4]
MOV RDX,RAX
MOV R8,RAX
XOR EAX,EAX
MOV qword ptr [0x00110540],RBX
SUB RDX,RBX
CALL 0x00102570
XOR ESI,ESI
MOV RDI,RBP
CALL 0x00102490
MOV qword ptr [0x00110548],RAX
TEST RAX,RAX
JZ 0x001066f0
TEST R12D,R12D
JNZ 0x001066c1
XOR ESI,ESI
MOV RDI,RBX
CALL 0x00102170
MOV RBP,RAX
TEST RAX,RAX
JZ 0x00106718
MOV ESI,0x2
MOV RDI,RAX
CALL 0x001025a0
TEST EAX,EAX
JNZ 0x00106680
MOV RBP,qword ptr [0x001106b0]
MOV EDX,0x5
LEA RSI,[0x10c178]
XOR EDI,EDI
CALL 0x001021b0
MOV RCX,RBX
MOV RDX,RBP
MOV RDI,qword ptr [0x00110460]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00102340
MOV EAX,dword ptr [0x00110474]
TEST EAX,EAX
JNZ 0x001066e3
MOV EDI,0x9
CALL 0x00102500
MOV RAX,qword ptr [0x00110548]
XOR ESI,ESI
MOV RDI,RBP
LEA RBX,[RAX + 0xe0]
CALL 0x001025b0
TEST RAX,RAX
JZ 0x001066ba
NOP dword ptr [RAX]
MOV qword ptr [RBX],RAX
MOV RSI,RAX
MOV RDI,RBP
LEA RBX,[RAX + 0xd8]
CALL 0x001025b0
TEST RAX,RAX
JNZ 0x001066a0
MOV RAX,qword ptr [0x00110548]
MOV ESI,0x2
MOV RDI,RAX
CALL 0x00102360
MOV RDX,qword ptr [0x00110548]
MOVZX EAX,word ptr [RDX + 0x47]
AND AX,0xfe7f
OR AL,0x80
MOV word ptr [RDX + 0x47],AX
POP RBX
POP RBP
POP R12
RET
MOV RBX,qword ptr [0x001106b0]
MOV EDX,0x5
LEA RSI,[0x10c128]
XOR EDI,EDI
CALL 0x001021b0
MOV RCX,RBP
MOV RDX,RBX
JMP 0x00106651
MOV RBP,qword ptr [0x001106b0]
MOV EDX,0x5
LEA RSI,[0x10c150]
XOR EDI,EDI
CALL 0x001021b0
MOV RCX,RBX
MOV RDX,RBP
JMP 0x00106651
(translation_unit "void FUN_001065a0(char *param_1,int param_2)\n\n{\n  long *plVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  long lVar5;\n  char *__format;\n  long lVar6;\n  undefined8 uVar7;\n  \n  sVar3 = strlen(param_1);\n  pcVar4 = (char *)xmalloc(sVar3 + 10);\n  lVar5 = lbasename(param_1);\n  DAT_00110540 = param_1;\n  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);\n  DAT_00110548 = bfd_openw(pcVar4,0);\n  uVar7 = DAT_001106b0;\n  if (DAT_00110548 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }\n  fprintf(stderr,__format,uVar7,pcVar4);\n  if (DAT_00110474 != 0) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  xexit(9);\n}\n\n" (function_definition "void FUN_001065a0(char *param_1,int param_2)\n\n{\n  long *plVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  long lVar5;\n  char *__format;\n  long lVar6;\n  undefined8 uVar7;\n  \n  sVar3 = strlen(param_1);\n  pcVar4 = (char *)xmalloc(sVar3 + 10);\n  lVar5 = lbasename(param_1);\n  DAT_00110540 = param_1;\n  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);\n  DAT_00110548 = bfd_openw(pcVar4,0);\n  uVar7 = DAT_001106b0;\n  if (DAT_00110548 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }\n  fprintf(stderr,__format,uVar7,pcVar4);\n  if (DAT_00110474 != 0) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  xexit(9);\n}" primitive_type (function_declarator "FUN_001065a0(char *param_1,int param_2)" identifier (parameter_list "(char *param_1,int param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  long *plVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  long lVar5;\n  char *__format;\n  long lVar6;\n  undefined8 uVar7;\n  \n  sVar3 = strlen(param_1);\n  pcVar4 = (char *)xmalloc(sVar3 + 10);\n  lVar5 = lbasename(param_1);\n  DAT_00110540 = param_1;\n  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);\n  DAT_00110548 = bfd_openw(pcVar4,0);\n  uVar7 = DAT_001106b0;\n  if (DAT_00110548 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }\n  fprintf(stderr,__format,uVar7,pcVar4);\n  if (DAT_00110474 != 0) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  xexit(9);\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (expression_statement "sVar3 = strlen(param_1);" (assignment_expression "sVar3 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar4 = (char *)xmalloc(sVar3 + 10);" (assignment_expression "pcVar4 = (char *)xmalloc(sVar3 + 10)" identifier = (cast_expression "(char *)xmalloc(sVar3 + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar3 + 10)" identifier (argument_list "(sVar3 + 10)" ( (binary_expression "sVar3 + 10" identifier + number_literal) ))))) ;) (expression_statement "lVar5 = lbasename(param_1);" (assignment_expression "lVar5 = lbasename(param_1)" identifier = (call_expression "lbasename(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "DAT_00110540 = param_1;" (assignment_expression "DAT_00110540 = param_1" identifier = identifier) ;) (expression_statement "sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);" (call_expression "sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5)" identifier (argument_list "(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5)" ( identifier , (string_literal ""%.*stmp-%s"" " string_content ") , (binary_expression "lVar5 - (long)param_1" identifier - (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) , identifier , identifier ))) ;) (expression_statement "DAT_00110548 = bfd_openw(pcVar4,0);" (assignment_expression "DAT_00110548 = bfd_openw(pcVar4,0)" identifier = (call_expression "bfd_openw(pcVar4,0)" identifier (argument_list "(pcVar4,0)" ( identifier , number_literal )))) ;) (expression_statement "uVar7 = DAT_001106b0;" (assignment_expression "uVar7 = DAT_001106b0" identifier = identifier) ;) (if_statement "if (DAT_00110548 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" if (parenthesized_expression "(DAT_00110548 == 0)" ( (binary_expression "DAT_00110548 == 0" identifier == number_literal) )) (compound_statement "{\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }" { (expression_statement "__format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: Can\'t open output archive %s\n",5)" identifier (argument_list "(0,"%s: Can\'t open output archive %s\n",5)" ( number_literal , (string_literal ""%s: Can\'t open output archive %s\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) }) (else_clause "else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" else (compound_statement "{\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" { (if_statement "if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }" { (labeled_statement "LAB_001066c1:\n      bfd_set_format(DAT_00110548,2);" statement_identifier : (expression_statement "bfd_set_format(DAT_00110548,2);" (call_expression "bfd_set_format(DAT_00110548,2)" identifier (argument_list "(DAT_00110548,2)" ( identifier , number_literal ))) ;)) (expression_statement "*(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;" (assignment_expression "*(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80" (pointer_expression "*(ushort *)(DAT_00110548 + 0x47)" * (cast_expression "(ushort *)(DAT_00110548 + 0x47)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00110548 + 0x47)" ( (binary_expression "DAT_00110548 + 0x47" identifier + number_literal) )))) = (binary_expression "*(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80" (binary_expression "*(ushort *)(DAT_00110548 + 0x47) & 0xfe7f" (pointer_expression "*(ushort *)(DAT_00110548 + 0x47)" * (cast_expression "(ushort *)(DAT_00110548 + 0x47)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00110548 + 0x47)" ( (binary_expression "DAT_00110548 + 0x47" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "lVar5 = bfd_openr(param_1,0);" (assignment_expression "lVar5 = bfd_openr(param_1,0)" identifier = (call_expression "bfd_openr(param_1,0)" identifier (argument_list "(param_1,0)" ( identifier , number_literal )))) ;) (expression_statement "uVar7 = DAT_001106b0;" (assignment_expression "uVar7 = DAT_001106b0" identifier = identifier) ;) (expression_statement "pcVar4 = param_1;" (assignment_expression "pcVar4 = param_1" identifier = identifier) ;) (if_statement "if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }" { (expression_statement "__format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: Can\'t open input archive %s\n",5)" identifier (argument_list "(0,"%s: Can\'t open input archive %s\n",5)" ( number_literal , (string_literal ""%s: Can\'t open input archive %s\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) }) (else_clause "else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" else (compound_statement "{\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" { (expression_statement "iVar2 = bfd_check_format(lVar5,2);" (assignment_expression "iVar2 = bfd_check_format(lVar5,2)" identifier = (call_expression "bfd_check_format(lVar5,2)" identifier (argument_list "(lVar5,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar7 = DAT_001106b0;" (assignment_expression "uVar7 = DAT_001106b0" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }" { (expression_statement "plVar1 = (long *)(DAT_00110548 + 0xe0);" (assignment_expression "plVar1 = (long *)(DAT_00110548 + 0xe0)" identifier = (cast_expression "(long *)(DAT_00110548 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00110548 + 0xe0)" ( (binary_expression "DAT_00110548 + 0xe0" identifier + number_literal) )))) ;) (for_statement "for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }" for ( (assignment_expression "lVar6 = bfd_openr_next_archived_file(lVar5,0)" identifier = (call_expression "bfd_openr_next_archived_file(lVar5,0)" identifier (argument_list "(lVar5,0)" ( identifier , number_literal )))) ; (binary_expression "lVar6 != 0" identifier != number_literal) ; (assignment_expression "lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)" identifier = (call_expression "bfd_openr_next_archived_file(lVar5,lVar6)" identifier (argument_list "(lVar5,lVar6)" ( identifier , identifier )))) ) (compound_statement "{\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }" { (expression_statement "*plVar1 = lVar6;" (assignment_expression "*plVar1 = lVar6" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "plVar1 = (long *)(lVar6 + 0xd8);" (assignment_expression "plVar1 = (long *)(lVar6 + 0xd8)" identifier = (cast_expression "(long *)(lVar6 + 0xd8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0xd8)" ( (binary_expression "lVar6 + 0xd8" identifier + number_literal) )))) ;) })) (goto_statement "goto LAB_001066c1;" goto statement_identifier ;) })) (expression_statement "__format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: file %s is not an archive\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: file %s is not an archive\n",5)" identifier (argument_list "(0,"%s: file %s is not an archive\n",5)" ( number_literal , (string_literal ""%s: file %s is not an archive\n"" " string_content escape_sequence ") , number_literal ))))) ;) }))) }))) (expression_statement "fprintf(stderr,__format,uVar7,pcVar4);" (call_expression "fprintf(stderr,__format,uVar7,pcVar4)" identifier (argument_list "(stderr,__format,uVar7,pcVar4)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (DAT_00110474 != 0) {\n    return;\n  }" if (parenthesized_expression "(DAT_00110474 != 0)" ( (binary_expression "DAT_00110474 != 0" identifier != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "xexit(9);" (call_expression "xexit(9)" identifier (argument_list "(9)" ( number_literal ))) ;) })))
(translation_unit "void ar_open(char *name,int t)\n\n{\n  bfd **ppbVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  long lVar5;\n  char *__format;\n  bfd *pbVar6;\n  char *pcVar7;\n  \n  sVar3 = strlen(name);\n  pcVar4 = (char *)xmalloc(sVar3 + 10);\n  lVar5 = lbasename(name);\n  real_name = name;\n  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)name,name,lVar5);\n  obfd = (bfd *)bfd_openw(pcVar4,0);\n  pcVar7 = program_name;\n  if (obfd == (bfd *)0x0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (t != 0) {\nLAB_001066c1:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x47 = *(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(name,0);\n    pcVar7 = program_name;\n    pcVar4 = name;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      pcVar7 = program_name;\n      if (iVar2 != 0) {\n        ppbVar1 = &obfd->archive_head;\n        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }\n  fprintf(stderr,__format,pcVar7,pcVar4);\n  if (interactive != 0) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  xexit(9);\n}\n\n" (function_definition "void ar_open(char *name,int t)\n\n{\n  bfd **ppbVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  long lVar5;\n  char *__format;\n  bfd *pbVar6;\n  char *pcVar7;\n  \n  sVar3 = strlen(name);\n  pcVar4 = (char *)xmalloc(sVar3 + 10);\n  lVar5 = lbasename(name);\n  real_name = name;\n  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)name,name,lVar5);\n  obfd = (bfd *)bfd_openw(pcVar4,0);\n  pcVar7 = program_name;\n  if (obfd == (bfd *)0x0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (t != 0) {\nLAB_001066c1:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x47 = *(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(name,0);\n    pcVar7 = program_name;\n    pcVar4 = name;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      pcVar7 = program_name;\n      if (iVar2 != 0) {\n        ppbVar1 = &obfd->archive_head;\n        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }\n  fprintf(stderr,__format,pcVar7,pcVar4);\n  if (interactive != 0) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  xexit(9);\n}" primitive_type (function_declarator "ar_open(char *name,int t)" identifier (parameter_list "(char *name,int t)" ( (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "int t" primitive_type identifier) ))) (compound_statement "{\n  bfd **ppbVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  long lVar5;\n  char *__format;\n  bfd *pbVar6;\n  char *pcVar7;\n  \n  sVar3 = strlen(name);\n  pcVar4 = (char *)xmalloc(sVar3 + 10);\n  lVar5 = lbasename(name);\n  real_name = name;\n  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)name,name,lVar5);\n  obfd = (bfd *)bfd_openw(pcVar4,0);\n  pcVar7 = program_name;\n  if (obfd == (bfd *)0x0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (t != 0) {\nLAB_001066c1:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x47 = *(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(name,0);\n    pcVar7 = program_name;\n    pcVar4 = name;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      pcVar7 = program_name;\n      if (iVar2 != 0) {\n        ppbVar1 = &obfd->archive_head;\n        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }\n  fprintf(stderr,__format,pcVar7,pcVar4);\n  if (interactive != 0) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  xexit(9);\n}" { (declaration "bfd **ppbVar1;" type_identifier (pointer_declarator "**ppbVar1" * (pointer_declarator "*ppbVar1" * identifier)) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "bfd *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (expression_statement "sVar3 = strlen(name);" (assignment_expression "sVar3 = strlen(name)" identifier = (call_expression "strlen(name)" identifier (argument_list "(name)" ( identifier )))) ;) (expression_statement "pcVar4 = (char *)xmalloc(sVar3 + 10);" (assignment_expression "pcVar4 = (char *)xmalloc(sVar3 + 10)" identifier = (cast_expression "(char *)xmalloc(sVar3 + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar3 + 10)" identifier (argument_list "(sVar3 + 10)" ( (binary_expression "sVar3 + 10" identifier + number_literal) ))))) ;) (expression_statement "lVar5 = lbasename(name);" (assignment_expression "lVar5 = lbasename(name)" identifier = (call_expression "lbasename(name)" identifier (argument_list "(name)" ( identifier )))) ;) (expression_statement "real_name = name;" (assignment_expression "real_name = name" identifier = identifier) ;) (expression_statement "sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)name,name,lVar5);" (call_expression "sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)name,name,lVar5)" identifier (argument_list "(pcVar4,"%.*stmp-%s",lVar5 - (long)name,name,lVar5)" ( identifier , (string_literal ""%.*stmp-%s"" " string_content ") , (binary_expression "lVar5 - (long)name" identifier - (cast_expression "(long)name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) , identifier , identifier ))) ;) (expression_statement "obfd = (bfd *)bfd_openw(pcVar4,0);" (assignment_expression "obfd = (bfd *)bfd_openw(pcVar4,0)" identifier = (cast_expression "(bfd *)bfd_openw(pcVar4,0)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openw(pcVar4,0)" identifier (argument_list "(pcVar4,0)" ( identifier , number_literal ))))) ;) (expression_statement "pcVar7 = program_name;" (assignment_expression "pcVar7 = program_name" identifier = identifier) ;) (if_statement "if (obfd == (bfd *)0x0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (t != 0) {\nLAB_001066c1:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x47 = *(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(name,0);\n    pcVar7 = program_name;\n    pcVar4 = name;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      pcVar7 = program_name;\n      if (iVar2 != 0) {\n        ppbVar1 = &obfd->archive_head;\n        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" if (parenthesized_expression "(obfd == (bfd *)0x0)" ( (binary_expression "obfd == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }" { (expression_statement "__format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: Can\'t open output archive %s\n",5)" identifier (argument_list "(0,"%s: Can\'t open output archive %s\n",5)" ( number_literal , (string_literal ""%s: Can\'t open output archive %s\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) }) (else_clause "else {\n    if (t != 0) {\nLAB_001066c1:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x47 = *(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(name,0);\n    pcVar7 = program_name;\n    pcVar4 = name;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      pcVar7 = program_name;\n      if (iVar2 != 0) {\n        ppbVar1 = &obfd->archive_head;\n        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" else (compound_statement "{\n    if (t != 0) {\nLAB_001066c1:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x47 = *(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(name,0);\n    pcVar7 = program_name;\n    pcVar4 = name;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      pcVar7 = program_name;\n      if (iVar2 != 0) {\n        ppbVar1 = &obfd->archive_head;\n        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" { (if_statement "if (t != 0) {\nLAB_001066c1:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x47 = *(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80;\n      return;\n    }" if (parenthesized_expression "(t != 0)" ( (binary_expression "t != 0" identifier != number_literal) )) (compound_statement "{\nLAB_001066c1:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x47 = *(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80;\n      return;\n    }" { (labeled_statement "LAB_001066c1:\n      bfd_set_format(obfd,2);" statement_identifier : (expression_statement "bfd_set_format(obfd,2);" (call_expression "bfd_set_format(obfd,2)" identifier (argument_list "(obfd,2)" ( identifier , number_literal ))) ;)) (expression_statement "*(ushort *)&obfd->field_0x47 = *(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80;" (assignment_expression "*(ushort *)&obfd->field_0x47 = *(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80" (pointer_expression "*(ushort *)&obfd->field_0x47" * (cast_expression "(ushort *)&obfd->field_0x47" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&obfd->field_0x47" & (field_expression "obfd->field_0x47" identifier -> field_identifier)))) = (binary_expression "*(ushort *)&obfd->field_0x47 & 0xfe7f | 0x80" (binary_expression "*(ushort *)&obfd->field_0x47 & 0xfe7f" (pointer_expression "*(ushort *)&obfd->field_0x47" * (cast_expression "(ushort *)&obfd->field_0x47" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&obfd->field_0x47" & (field_expression "obfd->field_0x47" identifier -> field_identifier)))) & number_literal) | number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "lVar5 = bfd_openr(name,0);" (assignment_expression "lVar5 = bfd_openr(name,0)" identifier = (call_expression "bfd_openr(name,0)" identifier (argument_list "(name,0)" ( identifier , number_literal )))) ;) (expression_statement "pcVar7 = program_name;" (assignment_expression "pcVar7 = program_name" identifier = identifier) ;) (expression_statement "pcVar4 = name;" (assignment_expression "pcVar4 = name" identifier = identifier) ;) (if_statement "if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      pcVar7 = program_name;\n      if (iVar2 != 0) {\n        ppbVar1 = &obfd->archive_head;\n        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }" { (expression_statement "__format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: Can\'t open input archive %s\n",5)" identifier (argument_list "(0,"%s: Can\'t open input archive %s\n",5)" ( number_literal , (string_literal ""%s: Can\'t open input archive %s\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) }) (else_clause "else {\n      iVar2 = bfd_check_format(lVar5,2);\n      pcVar7 = program_name;\n      if (iVar2 != 0) {\n        ppbVar1 = &obfd->archive_head;\n        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" else (compound_statement "{\n      iVar2 = bfd_check_format(lVar5,2);\n      pcVar7 = program_name;\n      if (iVar2 != 0) {\n        ppbVar1 = &obfd->archive_head;\n        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" { (expression_statement "iVar2 = bfd_check_format(lVar5,2);" (assignment_expression "iVar2 = bfd_check_format(lVar5,2)" identifier = (call_expression "bfd_check_format(lVar5,2)" identifier (argument_list "(lVar5,2)" ( identifier , number_literal )))) ;) (expression_statement "pcVar7 = program_name;" (assignment_expression "pcVar7 = program_name" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n        ppbVar1 = &obfd->archive_head;\n        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }\n        goto LAB_001066c1;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        ppbVar1 = &obfd->archive_head;\n        for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }\n        goto LAB_001066c1;\n      }" { (expression_statement "ppbVar1 = &obfd->archive_head;" (assignment_expression "ppbVar1 = &obfd->archive_head" identifier = (pointer_expression "&obfd->archive_head" & (field_expression "obfd->archive_head" identifier -> field_identifier))) ;) (for_statement "for (pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0); pbVar6 != (bfd *)0x0;\n            pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)) {\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }" for ( (assignment_expression "pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,0)" identifier = (cast_expression "(bfd *)bfd_openr_next_archived_file(lVar5,0)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openr_next_archived_file(lVar5,0)" identifier (argument_list "(lVar5,0)" ( identifier , number_literal ))))) ; (binary_expression "pbVar6 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pbVar6 = (bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)" identifier = (cast_expression "(bfd *)bfd_openr_next_archived_file(lVar5,pbVar6)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openr_next_archived_file(lVar5,pbVar6)" identifier (argument_list "(lVar5,pbVar6)" ( identifier , identifier ))))) ) (compound_statement "{\n          *ppbVar1 = pbVar6;\n          ppbVar1 = &pbVar6->archive_next;\n        }" { (expression_statement "*ppbVar1 = pbVar6;" (assignment_expression "*ppbVar1 = pbVar6" (pointer_expression "*ppbVar1" * identifier) = identifier) ;) (expression_statement "ppbVar1 = &pbVar6->archive_next;" (assignment_expression "ppbVar1 = &pbVar6->archive_next" identifier = (pointer_expression "&pbVar6->archive_next" & (field_expression "pbVar6->archive_next" identifier -> field_identifier))) ;) })) (goto_statement "goto LAB_001066c1;" goto statement_identifier ;) })) (expression_statement "__format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: file %s is not an archive\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: file %s is not an archive\n",5)" identifier (argument_list "(0,"%s: file %s is not an archive\n",5)" ( number_literal , (string_literal ""%s: file %s is not an archive\n"" " string_content escape_sequence ") , number_literal ))))) ;) }))) }))) (expression_statement "fprintf(stderr,__format,pcVar7,pcVar4);" (call_expression "fprintf(stderr,__format,pcVar7,pcVar4)" identifier (argument_list "(stderr,__format,pcVar7,pcVar4)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (interactive != 0) {\n    return;\n  }" if (parenthesized_expression "(interactive != 0)" ( (binary_expression "interactive != 0" identifier != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "xexit(9);" (call_expression "xexit(9)" identifier (argument_list "(9)" ( number_literal ))) ;) })))
(translation_unit "void FUN_001065a0(char *param_1,int param_2)\n\n{\n  long *plVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  long lVar5;\n  char *__format;\n  long lVar6;\n  undefined8 uVar7;\n  \n  sVar3 = strlen(param_1);\n  pcVar4 = (char *)xmalloc(sVar3 + 10);\n  lVar5 = lbasename(param_1);\n  DAT_00110540 = param_1;\n  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);\n  DAT_00110548 = bfd_openw(pcVar4,0);\n  uVar7 = DAT_001106b0;\n  if (DAT_00110548 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }\n  fprintf(stderr,__format,uVar7,pcVar4);\n  if (DAT_00110474 != 0) {\n    return;\n  }\n                    \n  xexit(9);\n}\n\n" (function_definition "void FUN_001065a0(char *param_1,int param_2)\n\n{\n  long *plVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  long lVar5;\n  char *__format;\n  long lVar6;\n  undefined8 uVar7;\n  \n  sVar3 = strlen(param_1);\n  pcVar4 = (char *)xmalloc(sVar3 + 10);\n  lVar5 = lbasename(param_1);\n  DAT_00110540 = param_1;\n  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);\n  DAT_00110548 = bfd_openw(pcVar4,0);\n  uVar7 = DAT_001106b0;\n  if (DAT_00110548 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }\n  fprintf(stderr,__format,uVar7,pcVar4);\n  if (DAT_00110474 != 0) {\n    return;\n  }\n                    \n  xexit(9);\n}" primitive_type (function_declarator "FUN_001065a0(char *param_1,int param_2)" identifier (parameter_list "(char *param_1,int param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  long *plVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  long lVar5;\n  char *__format;\n  long lVar6;\n  undefined8 uVar7;\n  \n  sVar3 = strlen(param_1);\n  pcVar4 = (char *)xmalloc(sVar3 + 10);\n  lVar5 = lbasename(param_1);\n  DAT_00110540 = param_1;\n  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);\n  DAT_00110548 = bfd_openw(pcVar4,0);\n  uVar7 = DAT_001106b0;\n  if (DAT_00110548 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }\n  fprintf(stderr,__format,uVar7,pcVar4);\n  if (DAT_00110474 != 0) {\n    return;\n  }\n                    \n  xexit(9);\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (expression_statement "sVar3 = strlen(param_1);" (assignment_expression "sVar3 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar4 = (char *)xmalloc(sVar3 + 10);" (assignment_expression "pcVar4 = (char *)xmalloc(sVar3 + 10)" identifier = (cast_expression "(char *)xmalloc(sVar3 + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar3 + 10)" identifier (argument_list "(sVar3 + 10)" ( (binary_expression "sVar3 + 10" identifier + number_literal) ))))) ;) (expression_statement "lVar5 = lbasename(param_1);" (assignment_expression "lVar5 = lbasename(param_1)" identifier = (call_expression "lbasename(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "DAT_00110540 = param_1;" (assignment_expression "DAT_00110540 = param_1" identifier = identifier) ;) (expression_statement "sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);" (call_expression "sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5)" identifier (argument_list "(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5)" ( identifier , (string_literal ""%.*stmp-%s"" " string_content ") , (binary_expression "lVar5 - (long)param_1" identifier - (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) , identifier , identifier ))) ;) (expression_statement "DAT_00110548 = bfd_openw(pcVar4,0);" (assignment_expression "DAT_00110548 = bfd_openw(pcVar4,0)" identifier = (call_expression "bfd_openw(pcVar4,0)" identifier (argument_list "(pcVar4,0)" ( identifier , number_literal )))) ;) (expression_statement "uVar7 = DAT_001106b0;" (assignment_expression "uVar7 = DAT_001106b0" identifier = identifier) ;) (if_statement "if (DAT_00110548 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" if (parenthesized_expression "(DAT_00110548 == 0)" ( (binary_expression "DAT_00110548 == 0" identifier == number_literal) )) (compound_statement "{\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }" { (expression_statement "__format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: Can\'t open output archive %s\n",5)" identifier (argument_list "(0,"%s: Can\'t open output archive %s\n",5)" ( number_literal , (string_literal ""%s: Can\'t open output archive %s\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) }) (else_clause "else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" else (compound_statement "{\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" { (if_statement "if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }" { (labeled_statement "LAB_001066c1:\n      bfd_set_format(DAT_00110548,2);" statement_identifier : (expression_statement "bfd_set_format(DAT_00110548,2);" (call_expression "bfd_set_format(DAT_00110548,2)" identifier (argument_list "(DAT_00110548,2)" ( identifier , number_literal ))) ;)) (expression_statement "*(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;" (assignment_expression "*(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80" (pointer_expression "*(ushort *)(DAT_00110548 + 0x47)" * (cast_expression "(ushort *)(DAT_00110548 + 0x47)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00110548 + 0x47)" ( (binary_expression "DAT_00110548 + 0x47" identifier + number_literal) )))) = (binary_expression "*(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80" (binary_expression "*(ushort *)(DAT_00110548 + 0x47) & 0xfe7f" (pointer_expression "*(ushort *)(DAT_00110548 + 0x47)" * (cast_expression "(ushort *)(DAT_00110548 + 0x47)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00110548 + 0x47)" ( (binary_expression "DAT_00110548 + 0x47" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "lVar5 = bfd_openr(param_1,0);" (assignment_expression "lVar5 = bfd_openr(param_1,0)" identifier = (call_expression "bfd_openr(param_1,0)" identifier (argument_list "(param_1,0)" ( identifier , number_literal )))) ;) (expression_statement "uVar7 = DAT_001106b0;" (assignment_expression "uVar7 = DAT_001106b0" identifier = identifier) ;) (expression_statement "pcVar4 = param_1;" (assignment_expression "pcVar4 = param_1" identifier = identifier) ;) (if_statement "if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }" { (expression_statement "__format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: Can\'t open input archive %s\n",5)" identifier (argument_list "(0,"%s: Can\'t open input archive %s\n",5)" ( number_literal , (string_literal ""%s: Can\'t open input archive %s\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) }) (else_clause "else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" else (compound_statement "{\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" { (expression_statement "iVar2 = bfd_check_format(lVar5,2);" (assignment_expression "iVar2 = bfd_check_format(lVar5,2)" identifier = (call_expression "bfd_check_format(lVar5,2)" identifier (argument_list "(lVar5,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar7 = DAT_001106b0;" (assignment_expression "uVar7 = DAT_001106b0" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }" { (expression_statement "plVar1 = (long *)(DAT_00110548 + 0xe0);" (assignment_expression "plVar1 = (long *)(DAT_00110548 + 0xe0)" identifier = (cast_expression "(long *)(DAT_00110548 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00110548 + 0xe0)" ( (binary_expression "DAT_00110548 + 0xe0" identifier + number_literal) )))) ;) (for_statement "for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }" for ( (assignment_expression "lVar6 = bfd_openr_next_archived_file(lVar5,0)" identifier = (call_expression "bfd_openr_next_archived_file(lVar5,0)" identifier (argument_list "(lVar5,0)" ( identifier , number_literal )))) ; (binary_expression "lVar6 != 0" identifier != number_literal) ; (assignment_expression "lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)" identifier = (call_expression "bfd_openr_next_archived_file(lVar5,lVar6)" identifier (argument_list "(lVar5,lVar6)" ( identifier , identifier )))) ) (compound_statement "{\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }" { (expression_statement "*plVar1 = lVar6;" (assignment_expression "*plVar1 = lVar6" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "plVar1 = (long *)(lVar6 + 0xd8);" (assignment_expression "plVar1 = (long *)(lVar6 + 0xd8)" identifier = (cast_expression "(long *)(lVar6 + 0xd8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0xd8)" ( (binary_expression "lVar6 + 0xd8" identifier + number_literal) )))) ;) })) (goto_statement "goto LAB_001066c1;" goto statement_identifier ;) })) (expression_statement "__format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: file %s is not an archive\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: file %s is not an archive\n",5)" identifier (argument_list "(0,"%s: file %s is not an archive\n",5)" ( number_literal , (string_literal ""%s: file %s is not an archive\n"" " string_content escape_sequence ") , number_literal ))))) ;) }))) }))) (expression_statement "fprintf(stderr,__format,uVar7,pcVar4);" (call_expression "fprintf(stderr,__format,uVar7,pcVar4)" identifier (argument_list "(stderr,__format,uVar7,pcVar4)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (DAT_00110474 != 0) {\n    return;\n  }" if (parenthesized_expression "(DAT_00110474 != 0)" ( (binary_expression "DAT_00110474 != 0" identifier != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "xexit(9);" (call_expression "xexit(9)" identifier (argument_list "(9)" ( number_literal ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (binary_expression IDENT - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 escape_sequence string_content escape_sequence ") , LIT ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 escape_sequence string_content escape_sequence ") , LIT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (for_statement for ( (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) }))) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })))
(function_definition "void FUN_001065a0(char *param_1,int param_2)\n\n{\n  long *plVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  long lVar5;\n  char *__format;\n  long lVar6;\n  undefined8 uVar7;\n  \n  sVar3 = strlen(param_1);\n  pcVar4 = (char *)xmalloc(sVar3 + 10);\n  lVar5 = lbasename(param_1);\n  DAT_00110540 = param_1;\n  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);\n  DAT_00110548 = bfd_openw(pcVar4,0);\n  uVar7 = DAT_001106b0;\n  if (DAT_00110548 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }\n  fprintf(stderr,__format,uVar7,pcVar4);\n  if (DAT_00110474 != 0) {\n    return;\n  }\n                    \n  xexit(9);\n}" (primitive_type "void") (function_declarator "FUN_001065a0(char *param_1,int param_2)" (identifier "FUN_001065a0") (parameter_list "(char *param_1,int param_2)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  long *plVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  long lVar5;\n  char *__format;\n  long lVar6;\n  undefined8 uVar7;\n  \n  sVar3 = strlen(param_1);\n  pcVar4 = (char *)xmalloc(sVar3 + 10);\n  lVar5 = lbasename(param_1);\n  DAT_00110540 = param_1;\n  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);\n  DAT_00110548 = bfd_openw(pcVar4,0);\n  uVar7 = DAT_001106b0;\n  if (DAT_00110548 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }\n  fprintf(stderr,__format,uVar7,pcVar4);\n  if (DAT_00110474 != 0) {\n    return;\n  }\n                    \n  xexit(9);\n}" ({ "{") (declaration "long *plVar1;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar1" (* "*") (identifier "plVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "char *__format;" (primitive_type "char") (pointer_declarator "*__format" (* "*") (identifier "__format")) (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (expression_statement "sVar3 = strlen(param_1);" (assignment_expression "sVar3 = strlen(param_1)" (identifier "sVar3") (= "=") (call_expression "strlen(param_1)" (identifier "strlen") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar4 = (char *)xmalloc(sVar3 + 10);" (assignment_expression "pcVar4 = (char *)xmalloc(sVar3 + 10)" (identifier "pcVar4") (= "=") (cast_expression "(char *)xmalloc(sVar3 + 10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar3 + 10)" (identifier "xmalloc") (argument_list "(sVar3 + 10)" (( "(") (binary_expression "sVar3 + 10" (identifier "sVar3") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "lVar5 = lbasename(param_1);" (assignment_expression "lVar5 = lbasename(param_1)" (identifier "lVar5") (= "=") (call_expression "lbasename(param_1)" (identifier "lbasename") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "DAT_00110540 = param_1;" (assignment_expression "DAT_00110540 = param_1" (identifier "DAT_00110540") (= "=") (identifier "param_1")) (; ";")) (expression_statement "sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);" (call_expression "sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5)" (identifier "sprintf") (argument_list "(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5)" (( "(") (identifier "pcVar4") (, ",") (string_literal ""%.*stmp-%s"" (" """) (string_content "%.*stmp-%s") (" """)) (, ",") (binary_expression "lVar5 - (long)param_1" (identifier "lVar5") (- "-") (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1"))) (, ",") (identifier "param_1") (, ",") (identifier "lVar5") () ")"))) (; ";")) (expression_statement "DAT_00110548 = bfd_openw(pcVar4,0);" (assignment_expression "DAT_00110548 = bfd_openw(pcVar4,0)" (identifier "DAT_00110548") (= "=") (call_expression "bfd_openw(pcVar4,0)" (identifier "bfd_openw") (argument_list "(pcVar4,0)" (( "(") (identifier "pcVar4") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar7 = DAT_001106b0;" (assignment_expression "uVar7 = DAT_001106b0" (identifier "uVar7") (= "=") (identifier "DAT_001106b0")) (; ";")) (if_statement "if (DAT_00110548 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" (if "if") (parenthesized_expression "(DAT_00110548 == 0)" (( "(") (binary_expression "DAT_00110548 == 0" (identifier "DAT_00110548") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }" ({ "{") (expression_statement "__format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5)" (identifier "__format") (= "=") (cast_expression "(char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"%s: Can\'t open output archive %s\n",5)" (identifier "dcgettext") (argument_list "(0,"%s: Can\'t open output archive %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s: Can\'t open output archive %s\n"" (" """) (string_content "%s: Can") (escape_sequence "\'") (string_content "t open output archive %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" (else "else") (compound_statement "{\n    if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }\n    lVar5 = bfd_openr(param_1,0);\n    uVar7 = DAT_001106b0;\n    pcVar4 = param_1;\n    if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }\n  }" ({ "{") (if_statement "if (param_2 != 0) {\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001066c1:\n      bfd_set_format(DAT_00110548,2);\n      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;\n      return;\n    }" ({ "{") (labeled_statement "LAB_001066c1:\n      bfd_set_format(DAT_00110548,2);" (statement_identifier "LAB_001066c1") (: ":") (expression_statement "bfd_set_format(DAT_00110548,2);" (call_expression "bfd_set_format(DAT_00110548,2)" (identifier "bfd_set_format") (argument_list "(DAT_00110548,2)" (( "(") (identifier "DAT_00110548") (, ",") (number_literal "2") () ")"))) (; ";"))) (expression_statement "*(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;" (assignment_expression "*(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80" (pointer_expression "*(ushort *)(DAT_00110548 + 0x47)" (* "*") (cast_expression "(ushort *)(DAT_00110548 + 0x47)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00110548 + 0x47)" (( "(") (binary_expression "DAT_00110548 + 0x47" (identifier "DAT_00110548") (+ "+") (number_literal "0x47")) () ")")))) (= "=") (binary_expression "*(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80" (binary_expression "*(ushort *)(DAT_00110548 + 0x47) & 0xfe7f" (pointer_expression "*(ushort *)(DAT_00110548 + 0x47)" (* "*") (cast_expression "(ushort *)(DAT_00110548 + 0x47)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00110548 + 0x47)" (( "(") (binary_expression "DAT_00110548 + 0x47" (identifier "DAT_00110548") (+ "+") (number_literal "0x47")) () ")")))) (& "&") (number_literal "0xfe7f")) (| "|") (number_literal "0x80"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "lVar5 = bfd_openr(param_1,0);" (assignment_expression "lVar5 = bfd_openr(param_1,0)" (identifier "lVar5") (= "=") (call_expression "bfd_openr(param_1,0)" (identifier "bfd_openr") (argument_list "(param_1,0)" (( "(") (identifier "param_1") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar7 = DAT_001106b0;" (assignment_expression "uVar7 = DAT_001106b0" (identifier "uVar7") (= "=") (identifier "DAT_001106b0")) (; ";")) (expression_statement "pcVar4 = param_1;" (assignment_expression "pcVar4 = param_1" (identifier "pcVar4") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (lVar5 == 0) {\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }\n    else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);\n    }" ({ "{") (expression_statement "__format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5)" (identifier "__format") (= "=") (cast_expression "(char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"%s: Can\'t open input archive %s\n",5)" (identifier "dcgettext") (argument_list "(0,"%s: Can\'t open input archive %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s: Can\'t open input archive %s\n"" (" """) (string_content "%s: Can") (escape_sequence "\'") (string_content "t open input archive %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" (else "else") (compound_statement "{\n      iVar2 = bfd_check_format(lVar5,2);\n      uVar7 = DAT_001106b0;\n      if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }\n      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);\n    }" ({ "{") (expression_statement "iVar2 = bfd_check_format(lVar5,2);" (assignment_expression "iVar2 = bfd_check_format(lVar5,2)" (identifier "iVar2") (= "=") (call_expression "bfd_check_format(lVar5,2)" (identifier "bfd_check_format") (argument_list "(lVar5,2)" (( "(") (identifier "lVar5") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar7 = DAT_001106b0;" (assignment_expression "uVar7 = DAT_001106b0" (identifier "uVar7") (= "=") (identifier "DAT_001106b0")) (; ";")) (if_statement "if (iVar2 != 0) {\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        plVar1 = (long *)(DAT_00110548 + 0xe0);\n        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }\n        goto LAB_001066c1;\n      }" ({ "{") (expression_statement "plVar1 = (long *)(DAT_00110548 + 0xe0);" (assignment_expression "plVar1 = (long *)(DAT_00110548 + 0xe0)" (identifier "plVar1") (= "=") (cast_expression "(long *)(DAT_00110548 + 0xe0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00110548 + 0xe0)" (( "(") (binary_expression "DAT_00110548 + 0xe0" (identifier "DAT_00110548") (+ "+") (number_literal "0xe0")) () ")")))) (; ";")) (for_statement "for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;\n            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }" (for "for") (( "(") (assignment_expression "lVar6 = bfd_openr_next_archived_file(lVar5,0)" (identifier "lVar6") (= "=") (call_expression "bfd_openr_next_archived_file(lVar5,0)" (identifier "bfd_openr_next_archived_file") (argument_list "(lVar5,0)" (( "(") (identifier "lVar5") (, ",") (number_literal "0") () ")")))) (; ";") (binary_expression "lVar6 != 0" (identifier "lVar6") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)" (identifier "lVar6") (= "=") (call_expression "bfd_openr_next_archived_file(lVar5,lVar6)" (identifier "bfd_openr_next_archived_file") (argument_list "(lVar5,lVar6)" (( "(") (identifier "lVar5") (, ",") (identifier "lVar6") () ")")))) () ")") (compound_statement "{\n          *plVar1 = lVar6;\n          plVar1 = (long *)(lVar6 + 0xd8);\n        }" ({ "{") (expression_statement "*plVar1 = lVar6;" (assignment_expression "*plVar1 = lVar6" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (= "=") (identifier "lVar6")) (; ";")) (expression_statement "plVar1 = (long *)(lVar6 + 0xd8);" (assignment_expression "plVar1 = (long *)(lVar6 + 0xd8)" (identifier "plVar1") (= "=") (cast_expression "(long *)(lVar6 + 0xd8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0xd8)" (( "(") (binary_expression "lVar6 + 0xd8" (identifier "lVar6") (+ "+") (number_literal "0xd8")) () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_001066c1;" (goto "goto") (statement_identifier "LAB_001066c1") (; ";")) (} "}"))) (expression_statement "__format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5)" (identifier "__format") (= "=") (cast_expression "(char *)dcgettext(0,"%s: file %s is not an archive\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"%s: file %s is not an archive\n",5)" (identifier "dcgettext") (argument_list "(0,"%s: file %s is not an archive\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s: file %s is not an archive\n"" (" """) (string_content "%s: file %s is not an archive") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (} "}")))) (} "}")))) (expression_statement "fprintf(stderr,__format,uVar7,pcVar4);" (call_expression "fprintf(stderr,__format,uVar7,pcVar4)" (identifier "fprintf") (argument_list "(stderr,__format,uVar7,pcVar4)" (( "(") (identifier "stderr") (, ",") (identifier "__format") (, ",") (identifier "uVar7") (, ",") (identifier "pcVar4") () ")"))) (; ";")) (if_statement "if (DAT_00110474 != 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_00110474 != 0)" (( "(") (binary_expression "DAT_00110474 != 0" (identifier "DAT_00110474") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "xexit(9);" (call_expression "xexit(9)" (identifier "xexit") (argument_list "(9)" (( "(") (number_literal "9") () ")"))) (; ";")) (} "}")))

void function_1(char *name,int var_10)

{
  type_1 **ppbVar1;
  int var_14;
  size_t var_3;
  char *pcVar4;
  long var_6;
  char *__format;
  type_1 *var_16;
  char *pcVar7;
  
  var_3 = var_1(name);
  pcVar4 = (char *)var_2(var_3 + 10);
  var_6 = var_4(name);
  real_name = name;
  var_5(pcVar4,"%.*stmp-%s",var_6 - (long)name,name,var_6);
  var_8 = (type_1 *)var_7(pcVar4,0);
  pcVar7 = program_name;
  if (var_8 == (type_1 *)0x0) {
    __format = (char *)var_9(0,"%s: Can\'t open output archive %s\n",5);
  }
  else {
    if (var_10 != 0) {
LAB_001066c1:
      var_11(var_8,2);
      *(type_2 *)&var_8->field_0x47 = *(type_2 *)&var_8->field_0x47 & 0xfe7f | 0x80;
      return;
    }
    var_6 = var_12(name,0);
    pcVar7 = program_name;
    pcVar4 = name;
    if (var_6 == 0) {
      __format = (char *)var_9(0,"%s: Can\'t open input archive %s\n",5);
    }
    else {
      var_14 = var_13(var_6,2);
      pcVar7 = program_name;
      if (var_14 != 0) {
        ppbVar1 = &var_8->archive_head;
        for (var_16 = (type_1 *)var_15(var_6,0); var_16 != (type_1 *)0x0;
            var_16 = (type_1 *)var_15(var_6,var_16)) {
          *ppbVar1 = var_16;
          ppbVar1 = &var_16->archive_next;
        }
        goto LAB_001066c1;
      }
      __format = (char *)var_9(0,"%s: file %s is not an archive\n",5);
    }
  }
  var_17(stderr,__format,pcVar7,pcVar4);
  if (var_18 != 0) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_19(9);
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence)) (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal)))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence)) (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (for_statement initializer: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))))

void MASKED(char *param_1,int param_2)

{
  long *plVar1;
  int iVar2;
  size_t sVar3;
  char *pcVar4;
  long lVar5;
  char *__format;
  long lVar6;
  undefined8 uVar7;
  
  sVar3 = strlen(param_1);
  pcVar4 = (char *)xmalloc(sVar3 + 10);
  lVar5 = lbasename(param_1);
  DAT_00110540 = param_1;
  sprintf(pcVar4,"%.*stmp-%s",lVar5 - (long)param_1,param_1,lVar5);
  DAT_00110548 = bfd_openw(pcVar4,0);
  uVar7 = DAT_001106b0;
  if (DAT_00110548 == 0) {
    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);
  }
  else {
    if (param_2 != 0) {
LAB_001066c1:
      bfd_set_format(DAT_00110548,2);
      *(ushort *)(DAT_00110548 + 0x47) = *(ushort *)(DAT_00110548 + 0x47) & 0xfe7f | 0x80;
      return;
    }
    lVar5 = bfd_openr(param_1,0);
    uVar7 = DAT_001106b0;
    pcVar4 = param_1;
    if (lVar5 == 0) {
      __format = (char *)dcgettext(0,"%s: Can\'t open input archive %s\n",5);
    }
    else {
      iVar2 = bfd_check_format(lVar5,2);
      uVar7 = DAT_001106b0;
      if (iVar2 != 0) {
        plVar1 = (long *)(DAT_00110548 + 0xe0);
        for (lVar6 = bfd_openr_next_archived_file(lVar5,0); lVar6 != 0;
            lVar6 = bfd_openr_next_archived_file(lVar5,lVar6)) {
          *plVar1 = lVar6;
          plVar1 = (long *)(lVar6 + 0xd8);
        }
        goto LAB_001066c1;
      }
      __format = (char *)dcgettext(0,"%s: file %s is not an archive\n",5);
    }
  }
  fprintf(stderr,__format,uVar7,pcVar4);
  if (DAT_00110474 != 0) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  xexit(9);
}

