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

void ar_open(char *name,int t)

{
  size_t sVar1;
  char *pcVar2;
  int iVar3;
  int iVar4;
  char *__format;
  bfd **ppbVar5;
  char *pcVar6;
  bfd *pbVar7;
  
  sVar1 = strlen(name);
  pcVar2 = (char *)xmalloc(sVar1 + 10);
  iVar3 = lbasename(name);
  real_name = name;
  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)name,name,iVar3);
  obfd = (bfd *)bfd_openw(pcVar2,0);
  pcVar6 = program_name;
  if (obfd == (bfd *)0x0) {
    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);
  }
  else {
    if (t != 0) {
LAB_00016b57:
      bfd_set_format(obfd,2);
      *(ushort *)&obfd->field_0x2b = *(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80;
      return;
    }
    iVar3 = bfd_openr(name,0);
    if (iVar3 == 0) {
      pcVar2 = "%s: Can\'t open input archive %s\n";
    }
    else {
      iVar4 = bfd_check_format(iVar3,2);
      if (iVar4 != 0) {
        pbVar7 = (bfd *)0x0;
        ppbVar5 = &obfd->archive_head;
        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {
          *ppbVar5 = pbVar7;
          ppbVar5 = &pbVar7->archive_next;
        }
        goto LAB_00016b57;
      }
      pcVar2 = "%s: file %s is not an archive\n";
    }
    pcVar6 = program_name;
    __format = (char *)dcgettext(0,pcVar2,5);
    pcVar2 = name;
  }
  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,pcVar6,pcVar2);
  if (interactive != 0) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  xexit(9);
}



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

void FUN_00016a40(char *param_1,int param_2)

{
  size_t sVar1;
  char *pcVar2;
  int iVar3;
  int iVar4;
  char *__format;
  int *piVar5;
  undefined4 uVar6;
  
  sVar1 = strlen(param_1);
  pcVar2 = (char *)xmalloc(sVar1 + 10);
  iVar3 = lbasename(param_1);
  DAT_000212dc = param_1;
  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);
  DAT_000212e0 = bfd_openw(pcVar2,0);
  uVar6 = DAT_000213a0;
  if (DAT_000212e0 == 0) {
    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);
  }
  else {
    if (param_2 != 0) {
LAB_00016b57:
      bfd_set_format(DAT_000212e0,2);
      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;
      return;
    }
    iVar3 = bfd_openr(param_1,0);
    if (iVar3 == 0) {
      pcVar2 = "%s: Can\'t open input archive %s\n";
    }
    else {
      iVar4 = bfd_check_format(iVar3,2);
      if (iVar4 != 0) {
        iVar4 = 0;
        piVar5 = (int *)(DAT_000212e0 + 0x94);
        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {
          *piVar5 = iVar4;
          piVar5 = (int *)(iVar4 + 0x90);
        }
        goto LAB_00016b57;
      }
      pcVar2 = "%s: file %s is not an archive\n";
    }
    uVar6 = DAT_000213a0;
    __format = (char *)dcgettext(0,pcVar2,5);
    pcVar2 = param_1;
  }
  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);
  if (DAT_0002124c != 0) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  xexit(9);
}


PUSH EDI
PUSH ESI
PUSH EBX
MOV ESI,dword ptr [ESP + 0x10]
CALL 0x00013710
ADD EBX,0xa5b4
SUB ESP,0xc
PUSH ESI
CALL 0x00012360
ADD EAX,0xa
MOV dword ptr [ESP],EAX
CALL 0x00012220
MOV dword ptr [ESP],ESI
MOV EDI,EAX
CALL 0x00012290
MOV dword ptr [EBX + 0x2dc],ESI
MOV dword ptr [ESP],EAX
SUB EAX,ESI
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xffffb014]
PUSH EAX
PUSH EDI
CALL 0x00012500
ADD ESP,0x18
PUSH 0x0
PUSH EDI
CALL 0x00012430
ADD ESP,0x10
MOV dword ptr [EBX + 0x2e0],EAX
TEST EAX,EAX
JZ 0x00016b80
MOV EDX,dword ptr [ESP + 0x14]
TEST EDX,EDX
JNZ 0x00016b57
SUB ESP,0x8
PUSH 0x0
PUSH ESI
CALL 0x00012160
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x00016ba8
SUB ESP,0x8
PUSH 0x2
PUSH EAX
CALL 0x00012520
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00016b20
LEA EAX,[EBX + 0x3a0]
SUB ESP,0x4
MOV EDI,dword ptr [EAX]
PUSH 0x5
LEA EAX,[EBX + 0xffffb0cc]
PUSH EAX
PUSH 0x0
CALL 0x00012180
PUSH ESI
PUSH EDI
PUSH EAX
MOV EAX,dword ptr [EBX + 0xffffffd4]
PUSH dword ptr [EAX]
CALL 0x00012390
LEA EAX,[EBX + 0x24c]
ADD ESP,0x20
MOV ECX,dword ptr [EAX]
TEST ECX,ECX
JNZ 0x00016b79
SUB ESP,0xc
PUSH 0x9
CALL 0x000124a0
MOV ESI,dword ptr [EBX + 0x2e0]
SUB ESP,0x8
PUSH 0x0
ADD ESI,0x94
JMP 0x00016b44
SUB ESP,0x8
MOV dword ptr [ESI],EAX
LEA ESI,[EAX + 0x90]
PUSH EAX
PUSH EDI
CALL 0x00012530
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00016b38
MOV EAX,dword ptr [EBX + 0x2e0]
SUB ESP,0x8
PUSH 0x2
PUSH EAX
CALL 0x00012310
MOV EDX,dword ptr [EBX + 0x2e0]
ADD ESP,0x10
MOVZX EAX,word ptr [EDX + 0x2b]
AND AX,0xfe7f
OR AL,0x80
MOV word ptr [EDX + 0x2b],AX
POP EBX
POP ESI
POP EDI
RET
LEA EAX,[EBX + 0x3a0]
SUB ESP,0x4
MOV ESI,dword ptr [EAX]
LEA EAX,[EBX + 0xffffb084]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00012180
PUSH EDI
PUSH ESI
JMP 0x00016af9
LEA EAX,[EBX + 0x3a0]
SUB ESP,0x4
MOV EDI,dword ptr [EAX]
PUSH 0x5
LEA EAX,[EBX + 0xffffb0a8]
JMP 0x00016aef
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00016a40(char *param_1,int param_2)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  char *__format;\n  int *piVar5;\n  undefined4 uVar6;\n  \n  sVar1 = strlen(param_1);\n  pcVar2 = (char *)xmalloc(sVar1 + 10);\n  iVar3 = lbasename(param_1);\n  DAT_000212dc = param_1;\n  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);\n  DAT_000212e0 = bfd_openw(pcVar2,0);\n  uVar6 = DAT_000213a0;\n  if (DAT_000212e0 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }\n  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);\n  if (DAT_0002124c != 0) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  xexit(9);\n}\n\n" comment (function_definition "void FUN_00016a40(char *param_1,int param_2)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  char *__format;\n  int *piVar5;\n  undefined4 uVar6;\n  \n  sVar1 = strlen(param_1);\n  pcVar2 = (char *)xmalloc(sVar1 + 10);\n  iVar3 = lbasename(param_1);\n  DAT_000212dc = param_1;\n  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);\n  DAT_000212e0 = bfd_openw(pcVar2,0);\n  uVar6 = DAT_000213a0;\n  if (DAT_000212e0 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }\n  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);\n  if (DAT_0002124c != 0) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  xexit(9);\n}" primitive_type (function_declarator "FUN_00016a40(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  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  char *__format;\n  int *piVar5;\n  undefined4 uVar6;\n  \n  sVar1 = strlen(param_1);\n  pcVar2 = (char *)xmalloc(sVar1 + 10);\n  iVar3 = lbasename(param_1);\n  DAT_000212dc = param_1;\n  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);\n  DAT_000212e0 = bfd_openw(pcVar2,0);\n  uVar6 = DAT_000213a0;\n  if (DAT_000212e0 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }\n  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);\n  if (DAT_0002124c != 0) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  xexit(9);\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (expression_statement "sVar1 = strlen(param_1);" (assignment_expression "sVar1 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar2 = (char *)xmalloc(sVar1 + 10);" (assignment_expression "pcVar2 = (char *)xmalloc(sVar1 + 10)" identifier = (cast_expression "(char *)xmalloc(sVar1 + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar1 + 10)" identifier (argument_list "(sVar1 + 10)" ( (binary_expression "sVar1 + 10" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = lbasename(param_1);" (assignment_expression "iVar3 = lbasename(param_1)" identifier = (call_expression "lbasename(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "DAT_000212dc = param_1;" (assignment_expression "DAT_000212dc = param_1" identifier = identifier) ;) (expression_statement "sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);" (call_expression "sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3)" identifier (argument_list "(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3)" ( identifier , (string_literal ""%.*stmp-%s"" " string_content ") , (binary_expression "iVar3 - (int)param_1" identifier - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier ))) ;) (expression_statement "DAT_000212e0 = bfd_openw(pcVar2,0);" (assignment_expression "DAT_000212e0 = bfd_openw(pcVar2,0)" identifier = (call_expression "bfd_openw(pcVar2,0)" identifier (argument_list "(pcVar2,0)" ( identifier , number_literal )))) ;) (expression_statement "uVar6 = DAT_000213a0;" (assignment_expression "uVar6 = DAT_000213a0" identifier = identifier) ;) (if_statement "if (DAT_000212e0 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }" if (parenthesized_expression "(DAT_000212e0 == 0)" ( (binary_expression "DAT_000212e0 == 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_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }" else (compound_statement "{\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }" { (if_statement "if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }" { (labeled_statement "LAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);" statement_identifier : (expression_statement "bfd_set_format(DAT_000212e0,2);" (call_expression "bfd_set_format(DAT_000212e0,2)" identifier (argument_list "(DAT_000212e0,2)" ( identifier , number_literal ))) ;)) (expression_statement "*(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;" (assignment_expression "*(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80" (pointer_expression "*(ushort *)(DAT_000212e0 + 0x2b)" * (cast_expression "(ushort *)(DAT_000212e0 + 0x2b)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000212e0 + 0x2b)" ( (binary_expression "DAT_000212e0 + 0x2b" identifier + number_literal) )))) = (binary_expression "*(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80" (binary_expression "*(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f" (pointer_expression "*(ushort *)(DAT_000212e0 + 0x2b)" * (cast_expression "(ushort *)(DAT_000212e0 + 0x2b)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000212e0 + 0x2b)" ( (binary_expression "DAT_000212e0 + 0x2b" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = bfd_openr(param_1,0);" (assignment_expression "iVar3 = bfd_openr(param_1,0)" identifier = (call_expression "bfd_openr(param_1,0)" identifier (argument_list "(param_1,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }" { (expression_statement "pcVar2 = "%s: Can\'t open input archive %s\n";" (assignment_expression "pcVar2 = "%s: Can\'t open input archive %s\n"" identifier = (string_literal ""%s: Can\'t open input archive %s\n"" " string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause "else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" else (compound_statement "{\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" { (expression_statement "iVar4 = bfd_check_format(iVar3,2);" (assignment_expression "iVar4 = bfd_check_format(iVar3,2)" identifier = (call_expression "bfd_check_format(iVar3,2)" identifier (argument_list "(iVar3,2)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)(DAT_000212e0 + 0x94);" (assignment_expression "piVar5 = (int *)(DAT_000212e0 + 0x94)" identifier = (cast_expression "(int *)(DAT_000212e0 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000212e0 + 0x94)" ( (binary_expression "DAT_000212e0 + 0x94" identifier + number_literal) )))) ;) (while_statement "while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }" while (parenthesized_expression "(iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0)" ( (comma_expression "iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0" (assignment_expression "iVar4 = bfd_openr_next_archived_file(iVar3,iVar4)" identifier = (call_expression "bfd_openr_next_archived_file(iVar3,iVar4)" identifier (argument_list "(iVar3,iVar4)" ( identifier , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )) (compound_statement "{\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }" { (expression_statement "*piVar5 = iVar4;" (assignment_expression "*piVar5 = iVar4" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "piVar5 = (int *)(iVar4 + 0x90);" (assignment_expression "piVar5 = (int *)(iVar4 + 0x90)" identifier = (cast_expression "(int *)(iVar4 + 0x90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x90)" ( (binary_expression "iVar4 + 0x90" identifier + number_literal) )))) ;) })) (goto_statement "goto LAB_00016b57;" goto statement_identifier ;) })) (expression_statement "pcVar2 = "%s: file %s is not an archive\n";" (assignment_expression "pcVar2 = "%s: file %s is not an archive\n"" identifier = (string_literal ""%s: file %s is not an archive\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar6 = DAT_000213a0;" (assignment_expression "uVar6 = DAT_000213a0" identifier = identifier) ;) (expression_statement "__format = (char *)dcgettext(0,pcVar2,5);" (assignment_expression "__format = (char *)dcgettext(0,pcVar2,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar2,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar2,5)" identifier (argument_list "(0,pcVar2,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "pcVar2 = param_1;" (assignment_expression "pcVar2 = param_1" identifier = identifier) ;) }))) (expression_statement "fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);" (call_expression "fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2)" identifier (argument_list "(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2)" ( (pointer_expression "*(FILE **)PTR_stderr_00020fd4" * (cast_expression "(FILE **)PTR_stderr_00020fd4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier , identifier ))) ;) (if_statement "if (DAT_0002124c != 0) {\n    return;\n  }" if (parenthesized_expression "(DAT_0002124c != 0)" ( (binary_expression "DAT_0002124c != 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 "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid ar_open(char *name,int t)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  char *__format;\n  bfd **ppbVar5;\n  char *pcVar6;\n  bfd *pbVar7;\n  \n  sVar1 = strlen(name);\n  pcVar2 = (char *)xmalloc(sVar1 + 10);\n  iVar3 = lbasename(name);\n  real_name = name;\n  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)name,name,iVar3);\n  obfd = (bfd *)bfd_openw(pcVar2,0);\n  pcVar6 = 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_00016b57:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x2b = *(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(name,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        pbVar7 = (bfd *)0x0;\n        ppbVar5 = &obfd->archive_head;\n        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    pcVar6 = program_name;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = name;\n  }\n  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,pcVar6,pcVar2);\n  if (interactive != 0) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  xexit(9);\n}\n\n" comment comment (function_definition "void ar_open(char *name,int t)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  char *__format;\n  bfd **ppbVar5;\n  char *pcVar6;\n  bfd *pbVar7;\n  \n  sVar1 = strlen(name);\n  pcVar2 = (char *)xmalloc(sVar1 + 10);\n  iVar3 = lbasename(name);\n  real_name = name;\n  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)name,name,iVar3);\n  obfd = (bfd *)bfd_openw(pcVar2,0);\n  pcVar6 = 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_00016b57:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x2b = *(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(name,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        pbVar7 = (bfd *)0x0;\n        ppbVar5 = &obfd->archive_head;\n        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    pcVar6 = program_name;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = name;\n  }\n  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,pcVar6,pcVar2);\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  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  char *__format;\n  bfd **ppbVar5;\n  char *pcVar6;\n  bfd *pbVar7;\n  \n  sVar1 = strlen(name);\n  pcVar2 = (char *)xmalloc(sVar1 + 10);\n  iVar3 = lbasename(name);\n  real_name = name;\n  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)name,name,iVar3);\n  obfd = (bfd *)bfd_openw(pcVar2,0);\n  pcVar6 = 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_00016b57:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x2b = *(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(name,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        pbVar7 = (bfd *)0x0;\n        ppbVar5 = &obfd->archive_head;\n        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    pcVar6 = program_name;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = name;\n  }\n  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,pcVar6,pcVar2);\n  if (interactive != 0) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  xexit(9);\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "bfd **ppbVar5;" type_identifier (pointer_declarator "**ppbVar5" * (pointer_declarator "*ppbVar5" * identifier)) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "bfd *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (expression_statement "sVar1 = strlen(name);" (assignment_expression "sVar1 = strlen(name)" identifier = (call_expression "strlen(name)" identifier (argument_list "(name)" ( identifier )))) ;) (expression_statement "pcVar2 = (char *)xmalloc(sVar1 + 10);" (assignment_expression "pcVar2 = (char *)xmalloc(sVar1 + 10)" identifier = (cast_expression "(char *)xmalloc(sVar1 + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar1 + 10)" identifier (argument_list "(sVar1 + 10)" ( (binary_expression "sVar1 + 10" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = lbasename(name);" (assignment_expression "iVar3 = 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(pcVar2,"%.*stmp-%s",iVar3 - (int)name,name,iVar3);" (call_expression "sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)name,name,iVar3)" identifier (argument_list "(pcVar2,"%.*stmp-%s",iVar3 - (int)name,name,iVar3)" ( identifier , (string_literal ""%.*stmp-%s"" " string_content ") , (binary_expression "iVar3 - (int)name" identifier - (cast_expression "(int)name" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier ))) ;) (expression_statement "obfd = (bfd *)bfd_openw(pcVar2,0);" (assignment_expression "obfd = (bfd *)bfd_openw(pcVar2,0)" identifier = (cast_expression "(bfd *)bfd_openw(pcVar2,0)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openw(pcVar2,0)" identifier (argument_list "(pcVar2,0)" ( identifier , number_literal ))))) ;) (expression_statement "pcVar6 = program_name;" (assignment_expression "pcVar6 = 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_00016b57:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x2b = *(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(name,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        pbVar7 = (bfd *)0x0;\n        ppbVar5 = &obfd->archive_head;\n        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    pcVar6 = program_name;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = name;\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_00016b57:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x2b = *(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(name,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        pbVar7 = (bfd *)0x0;\n        ppbVar5 = &obfd->archive_head;\n        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    pcVar6 = program_name;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = name;\n  }" else (compound_statement "{\n    if (t != 0) {\nLAB_00016b57:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x2b = *(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(name,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        pbVar7 = (bfd *)0x0;\n        ppbVar5 = &obfd->archive_head;\n        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    pcVar6 = program_name;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = name;\n  }" { (if_statement "if (t != 0) {\nLAB_00016b57:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x2b = *(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80;\n      return;\n    }" if (parenthesized_expression "(t != 0)" ( (binary_expression "t != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00016b57:\n      bfd_set_format(obfd,2);\n      *(ushort *)&obfd->field_0x2b = *(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80;\n      return;\n    }" { (labeled_statement "LAB_00016b57:\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_0x2b = *(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80;" (assignment_expression "*(ushort *)&obfd->field_0x2b = *(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80" (pointer_expression "*(ushort *)&obfd->field_0x2b" * (cast_expression "(ushort *)&obfd->field_0x2b" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&obfd->field_0x2b" & (field_expression "obfd->field_0x2b" identifier -> field_identifier)))) = (binary_expression "*(ushort *)&obfd->field_0x2b & 0xfe7f | 0x80" (binary_expression "*(ushort *)&obfd->field_0x2b & 0xfe7f" (pointer_expression "*(ushort *)&obfd->field_0x2b" * (cast_expression "(ushort *)&obfd->field_0x2b" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&obfd->field_0x2b" & (field_expression "obfd->field_0x2b" identifier -> field_identifier)))) & number_literal) | number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = bfd_openr(name,0);" (assignment_expression "iVar3 = bfd_openr(name,0)" identifier = (call_expression "bfd_openr(name,0)" identifier (argument_list "(name,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        pbVar7 = (bfd *)0x0;\n        ppbVar5 = &obfd->archive_head;\n        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }" { (expression_statement "pcVar2 = "%s: Can\'t open input archive %s\n";" (assignment_expression "pcVar2 = "%s: Can\'t open input archive %s\n"" identifier = (string_literal ""%s: Can\'t open input archive %s\n"" " string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause "else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        pbVar7 = (bfd *)0x0;\n        ppbVar5 = &obfd->archive_head;\n        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" else (compound_statement "{\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        pbVar7 = (bfd *)0x0;\n        ppbVar5 = &obfd->archive_head;\n        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" { (expression_statement "iVar4 = bfd_check_format(iVar3,2);" (assignment_expression "iVar4 = bfd_check_format(iVar3,2)" identifier = (call_expression "bfd_check_format(iVar3,2)" identifier (argument_list "(iVar3,2)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n        pbVar7 = (bfd *)0x0;\n        ppbVar5 = &obfd->archive_head;\n        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }\n        goto LAB_00016b57;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        pbVar7 = (bfd *)0x0;\n        ppbVar5 = &obfd->archive_head;\n        while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }\n        goto LAB_00016b57;\n      }" { (expression_statement "pbVar7 = (bfd *)0x0;" (assignment_expression "pbVar7 = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppbVar5 = &obfd->archive_head;" (assignment_expression "ppbVar5 = &obfd->archive_head" identifier = (pointer_expression "&obfd->archive_head" & (field_expression "obfd->archive_head" identifier -> field_identifier))) ;) (while_statement "while (pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0) {\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }" while (parenthesized_expression "(pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0)" ( (comma_expression "pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7), pbVar7 != (bfd *)0x0" (assignment_expression "pbVar7 = (bfd *)bfd_openr_next_archived_file(iVar3,pbVar7)" identifier = (cast_expression "(bfd *)bfd_openr_next_archived_file(iVar3,pbVar7)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openr_next_archived_file(iVar3,pbVar7)" identifier (argument_list "(iVar3,pbVar7)" ( identifier , identifier ))))) , (binary_expression "pbVar7 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n          *ppbVar5 = pbVar7;\n          ppbVar5 = &pbVar7->archive_next;\n        }" { (expression_statement "*ppbVar5 = pbVar7;" (assignment_expression "*ppbVar5 = pbVar7" (pointer_expression "*ppbVar5" * identifier) = identifier) ;) (expression_statement "ppbVar5 = &pbVar7->archive_next;" (assignment_expression "ppbVar5 = &pbVar7->archive_next" identifier = (pointer_expression "&pbVar7->archive_next" & (field_expression "pbVar7->archive_next" identifier -> field_identifier))) ;) })) (goto_statement "goto LAB_00016b57;" goto statement_identifier ;) })) (expression_statement "pcVar2 = "%s: file %s is not an archive\n";" (assignment_expression "pcVar2 = "%s: file %s is not an archive\n"" identifier = (string_literal ""%s: file %s is not an archive\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "pcVar6 = program_name;" (assignment_expression "pcVar6 = program_name" identifier = identifier) ;) (expression_statement "__format = (char *)dcgettext(0,pcVar2,5);" (assignment_expression "__format = (char *)dcgettext(0,pcVar2,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar2,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar2,5)" identifier (argument_list "(0,pcVar2,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "pcVar2 = name;" (assignment_expression "pcVar2 = name" identifier = identifier) ;) }))) (expression_statement "fprintf(*(FILE **)PTR_stderr_00020fd4,__format,pcVar6,pcVar2);" (call_expression "fprintf(*(FILE **)PTR_stderr_00020fd4,__format,pcVar6,pcVar2)" identifier (argument_list "(*(FILE **)PTR_stderr_00020fd4,__format,pcVar6,pcVar2)" ( (pointer_expression "*(FILE **)PTR_stderr_00020fd4" * (cast_expression "(FILE **)PTR_stderr_00020fd4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) 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_00016a40(char *param_1,int param_2)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  char *__format;\n  int *piVar5;\n  undefined4 uVar6;\n  \n  sVar1 = strlen(param_1);\n  pcVar2 = (char *)xmalloc(sVar1 + 10);\n  iVar3 = lbasename(param_1);\n  DAT_000212dc = param_1;\n  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);\n  DAT_000212e0 = bfd_openw(pcVar2,0);\n  uVar6 = DAT_000213a0;\n  if (DAT_000212e0 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }\n  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);\n  if (DAT_0002124c != 0) {\n    return;\n  }\n                    \n  xexit(9);\n}\n\n" (function_definition "void FUN_00016a40(char *param_1,int param_2)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  char *__format;\n  int *piVar5;\n  undefined4 uVar6;\n  \n  sVar1 = strlen(param_1);\n  pcVar2 = (char *)xmalloc(sVar1 + 10);\n  iVar3 = lbasename(param_1);\n  DAT_000212dc = param_1;\n  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);\n  DAT_000212e0 = bfd_openw(pcVar2,0);\n  uVar6 = DAT_000213a0;\n  if (DAT_000212e0 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }\n  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);\n  if (DAT_0002124c != 0) {\n    return;\n  }\n                    \n  xexit(9);\n}" primitive_type (function_declarator "FUN_00016a40(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  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  char *__format;\n  int *piVar5;\n  undefined4 uVar6;\n  \n  sVar1 = strlen(param_1);\n  pcVar2 = (char *)xmalloc(sVar1 + 10);\n  iVar3 = lbasename(param_1);\n  DAT_000212dc = param_1;\n  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);\n  DAT_000212e0 = bfd_openw(pcVar2,0);\n  uVar6 = DAT_000213a0;\n  if (DAT_000212e0 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }\n  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);\n  if (DAT_0002124c != 0) {\n    return;\n  }\n                    \n  xexit(9);\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (expression_statement "sVar1 = strlen(param_1);" (assignment_expression "sVar1 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar2 = (char *)xmalloc(sVar1 + 10);" (assignment_expression "pcVar2 = (char *)xmalloc(sVar1 + 10)" identifier = (cast_expression "(char *)xmalloc(sVar1 + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar1 + 10)" identifier (argument_list "(sVar1 + 10)" ( (binary_expression "sVar1 + 10" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = lbasename(param_1);" (assignment_expression "iVar3 = lbasename(param_1)" identifier = (call_expression "lbasename(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "DAT_000212dc = param_1;" (assignment_expression "DAT_000212dc = param_1" identifier = identifier) ;) (expression_statement "sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);" (call_expression "sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3)" identifier (argument_list "(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3)" ( identifier , (string_literal ""%.*stmp-%s"" " string_content ") , (binary_expression "iVar3 - (int)param_1" identifier - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier ))) ;) (expression_statement "DAT_000212e0 = bfd_openw(pcVar2,0);" (assignment_expression "DAT_000212e0 = bfd_openw(pcVar2,0)" identifier = (call_expression "bfd_openw(pcVar2,0)" identifier (argument_list "(pcVar2,0)" ( identifier , number_literal )))) ;) (expression_statement "uVar6 = DAT_000213a0;" (assignment_expression "uVar6 = DAT_000213a0" identifier = identifier) ;) (if_statement "if (DAT_000212e0 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }" if (parenthesized_expression "(DAT_000212e0 == 0)" ( (binary_expression "DAT_000212e0 == 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_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }" else (compound_statement "{\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }" { (if_statement "if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }" { (labeled_statement "LAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);" statement_identifier : (expression_statement "bfd_set_format(DAT_000212e0,2);" (call_expression "bfd_set_format(DAT_000212e0,2)" identifier (argument_list "(DAT_000212e0,2)" ( identifier , number_literal ))) ;)) (expression_statement "*(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;" (assignment_expression "*(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80" (pointer_expression "*(ushort *)(DAT_000212e0 + 0x2b)" * (cast_expression "(ushort *)(DAT_000212e0 + 0x2b)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000212e0 + 0x2b)" ( (binary_expression "DAT_000212e0 + 0x2b" identifier + number_literal) )))) = (binary_expression "*(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80" (binary_expression "*(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f" (pointer_expression "*(ushort *)(DAT_000212e0 + 0x2b)" * (cast_expression "(ushort *)(DAT_000212e0 + 0x2b)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000212e0 + 0x2b)" ( (binary_expression "DAT_000212e0 + 0x2b" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = bfd_openr(param_1,0);" (assignment_expression "iVar3 = bfd_openr(param_1,0)" identifier = (call_expression "bfd_openr(param_1,0)" identifier (argument_list "(param_1,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }" { (expression_statement "pcVar2 = "%s: Can\'t open input archive %s\n";" (assignment_expression "pcVar2 = "%s: Can\'t open input archive %s\n"" identifier = (string_literal ""%s: Can\'t open input archive %s\n"" " string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause "else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" else (compound_statement "{\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" { (expression_statement "iVar4 = bfd_check_format(iVar3,2);" (assignment_expression "iVar4 = bfd_check_format(iVar3,2)" identifier = (call_expression "bfd_check_format(iVar3,2)" identifier (argument_list "(iVar3,2)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)(DAT_000212e0 + 0x94);" (assignment_expression "piVar5 = (int *)(DAT_000212e0 + 0x94)" identifier = (cast_expression "(int *)(DAT_000212e0 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000212e0 + 0x94)" ( (binary_expression "DAT_000212e0 + 0x94" identifier + number_literal) )))) ;) (while_statement "while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }" while (parenthesized_expression "(iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0)" ( (comma_expression "iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0" (assignment_expression "iVar4 = bfd_openr_next_archived_file(iVar3,iVar4)" identifier = (call_expression "bfd_openr_next_archived_file(iVar3,iVar4)" identifier (argument_list "(iVar3,iVar4)" ( identifier , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )) (compound_statement "{\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }" { (expression_statement "*piVar5 = iVar4;" (assignment_expression "*piVar5 = iVar4" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "piVar5 = (int *)(iVar4 + 0x90);" (assignment_expression "piVar5 = (int *)(iVar4 + 0x90)" identifier = (cast_expression "(int *)(iVar4 + 0x90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x90)" ( (binary_expression "iVar4 + 0x90" identifier + number_literal) )))) ;) })) (goto_statement "goto LAB_00016b57;" goto statement_identifier ;) })) (expression_statement "pcVar2 = "%s: file %s is not an archive\n";" (assignment_expression "pcVar2 = "%s: file %s is not an archive\n"" identifier = (string_literal ""%s: file %s is not an archive\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar6 = DAT_000213a0;" (assignment_expression "uVar6 = DAT_000213a0" identifier = identifier) ;) (expression_statement "__format = (char *)dcgettext(0,pcVar2,5);" (assignment_expression "__format = (char *)dcgettext(0,pcVar2,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar2,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar2,5)" identifier (argument_list "(0,pcVar2,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "pcVar2 = param_1;" (assignment_expression "pcVar2 = param_1" identifier = identifier) ;) }))) (expression_statement "fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);" (call_expression "fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2)" identifier (argument_list "(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2)" ( (pointer_expression "*(FILE **)PTR_stderr_00020fd4" * (cast_expression "(FILE **)PTR_stderr_00020fd4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier , identifier ))) ;) (if_statement "if (DAT_0002124c != 0) {\n    return;\n  }" if (parenthesized_expression "(DAT_0002124c != 0)" ( (binary_expression "DAT_0002124c != 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 TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 TYPE) ) 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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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_00016a40(char *param_1,int param_2)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  char *__format;\n  int *piVar5;\n  undefined4 uVar6;\n  \n  sVar1 = strlen(param_1);\n  pcVar2 = (char *)xmalloc(sVar1 + 10);\n  iVar3 = lbasename(param_1);\n  DAT_000212dc = param_1;\n  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);\n  DAT_000212e0 = bfd_openw(pcVar2,0);\n  uVar6 = DAT_000213a0;\n  if (DAT_000212e0 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }\n  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);\n  if (DAT_0002124c != 0) {\n    return;\n  }\n                    \n  xexit(9);\n}" (primitive_type "void") (function_declarator "FUN_00016a40(char *param_1,int param_2)" (identifier "FUN_00016a40") (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  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  char *__format;\n  int *piVar5;\n  undefined4 uVar6;\n  \n  sVar1 = strlen(param_1);\n  pcVar2 = (char *)xmalloc(sVar1 + 10);\n  iVar3 = lbasename(param_1);\n  DAT_000212dc = param_1;\n  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);\n  DAT_000212e0 = bfd_openw(pcVar2,0);\n  uVar6 = DAT_000213a0;\n  if (DAT_000212e0 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }\n  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);\n  if (DAT_0002124c != 0) {\n    return;\n  }\n                    \n  xexit(9);\n}" ({ "{") (declaration "size_t sVar1;" (primitive_type "size_t") (identifier "sVar1") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "char *__format;" (primitive_type "char") (pointer_declarator "*__format" (* "*") (identifier "__format")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (expression_statement "sVar1 = strlen(param_1);" (assignment_expression "sVar1 = strlen(param_1)" (identifier "sVar1") (= "=") (call_expression "strlen(param_1)" (identifier "strlen") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar2 = (char *)xmalloc(sVar1 + 10);" (assignment_expression "pcVar2 = (char *)xmalloc(sVar1 + 10)" (identifier "pcVar2") (= "=") (cast_expression "(char *)xmalloc(sVar1 + 10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar1 + 10)" (identifier "xmalloc") (argument_list "(sVar1 + 10)" (( "(") (binary_expression "sVar1 + 10" (identifier "sVar1") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "iVar3 = lbasename(param_1);" (assignment_expression "iVar3 = lbasename(param_1)" (identifier "iVar3") (= "=") (call_expression "lbasename(param_1)" (identifier "lbasename") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "DAT_000212dc = param_1;" (assignment_expression "DAT_000212dc = param_1" (identifier "DAT_000212dc") (= "=") (identifier "param_1")) (; ";")) (expression_statement "sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);" (call_expression "sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3)" (identifier "sprintf") (argument_list "(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3)" (( "(") (identifier "pcVar2") (, ",") (string_literal ""%.*stmp-%s"" (" """) (string_content "%.*stmp-%s") (" """)) (, ",") (binary_expression "iVar3 - (int)param_1" (identifier "iVar3") (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) (, ",") (identifier "param_1") (, ",") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "DAT_000212e0 = bfd_openw(pcVar2,0);" (assignment_expression "DAT_000212e0 = bfd_openw(pcVar2,0)" (identifier "DAT_000212e0") (= "=") (call_expression "bfd_openw(pcVar2,0)" (identifier "bfd_openw") (argument_list "(pcVar2,0)" (( "(") (identifier "pcVar2") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar6 = DAT_000213a0;" (assignment_expression "uVar6 = DAT_000213a0" (identifier "uVar6") (= "=") (identifier "DAT_000213a0")) (; ";")) (if_statement "if (DAT_000212e0 == 0) {\n    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);\n  }\n  else {\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }" (if "if") (parenthesized_expression "(DAT_000212e0 == 0)" (( "(") (binary_expression "DAT_000212e0 == 0" (identifier "DAT_000212e0") (== "==") (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_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }" (else "else") (compound_statement "{\n    if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }\n    iVar3 = bfd_openr(param_1,0);\n    if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }\n    uVar6 = DAT_000213a0;\n    __format = (char *)dcgettext(0,pcVar2,5);\n    pcVar2 = param_1;\n  }" ({ "{") (if_statement "if (param_2 != 0) {\nLAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 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_00016b57:\n      bfd_set_format(DAT_000212e0,2);\n      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;\n      return;\n    }" ({ "{") (labeled_statement "LAB_00016b57:\n      bfd_set_format(DAT_000212e0,2);" (statement_identifier "LAB_00016b57") (: ":") (expression_statement "bfd_set_format(DAT_000212e0,2);" (call_expression "bfd_set_format(DAT_000212e0,2)" (identifier "bfd_set_format") (argument_list "(DAT_000212e0,2)" (( "(") (identifier "DAT_000212e0") (, ",") (number_literal "2") () ")"))) (; ";"))) (expression_statement "*(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;" (assignment_expression "*(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80" (pointer_expression "*(ushort *)(DAT_000212e0 + 0x2b)" (* "*") (cast_expression "(ushort *)(DAT_000212e0 + 0x2b)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_000212e0 + 0x2b)" (( "(") (binary_expression "DAT_000212e0 + 0x2b" (identifier "DAT_000212e0") (+ "+") (number_literal "0x2b")) () ")")))) (= "=") (binary_expression "*(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80" (binary_expression "*(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f" (pointer_expression "*(ushort *)(DAT_000212e0 + 0x2b)" (* "*") (cast_expression "(ushort *)(DAT_000212e0 + 0x2b)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_000212e0 + 0x2b)" (( "(") (binary_expression "DAT_000212e0 + 0x2b" (identifier "DAT_000212e0") (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0xfe7f")) (| "|") (number_literal "0x80"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar3 = bfd_openr(param_1,0);" (assignment_expression "iVar3 = bfd_openr(param_1,0)" (identifier "iVar3") (= "=") (call_expression "bfd_openr(param_1,0)" (identifier "bfd_openr") (argument_list "(param_1,0)" (( "(") (identifier "param_1") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }\n    else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar2 = "%s: Can\'t open input archive %s\n";\n    }" ({ "{") (expression_statement "pcVar2 = "%s: Can\'t open input archive %s\n";" (assignment_expression "pcVar2 = "%s: Can\'t open input archive %s\n"" (identifier "pcVar2") (= "=") (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") (" """))) (; ";")) (} "}")) (else_clause "else {\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" (else "else") (compound_statement "{\n      iVar4 = bfd_check_format(iVar3,2);\n      if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }\n      pcVar2 = "%s: file %s is not an archive\n";\n    }" ({ "{") (expression_statement "iVar4 = bfd_check_format(iVar3,2);" (assignment_expression "iVar4 = bfd_check_format(iVar3,2)" (identifier "iVar4") (= "=") (call_expression "bfd_check_format(iVar3,2)" (identifier "bfd_check_format") (argument_list "(iVar3,2)" (( "(") (identifier "iVar3") (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar4 = 0;\n        piVar5 = (int *)(DAT_000212e0 + 0x94);\n        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }\n        goto LAB_00016b57;\n      }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5 = (int *)(DAT_000212e0 + 0x94);" (assignment_expression "piVar5 = (int *)(DAT_000212e0 + 0x94)" (identifier "piVar5") (= "=") (cast_expression "(int *)(DAT_000212e0 + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_000212e0 + 0x94)" (( "(") (binary_expression "DAT_000212e0 + 0x94" (identifier "DAT_000212e0") (+ "+") (number_literal "0x94")) () ")")))) (; ";")) (while_statement "while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }" (while "while") (parenthesized_expression "(iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0)" (( "(") (comma_expression "iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0" (assignment_expression "iVar4 = bfd_openr_next_archived_file(iVar3,iVar4)" (identifier "iVar4") (= "=") (call_expression "bfd_openr_next_archived_file(iVar3,iVar4)" (identifier "bfd_openr_next_archived_file") (argument_list "(iVar3,iVar4)" (( "(") (identifier "iVar3") (, ",") (identifier "iVar4") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n          *piVar5 = iVar4;\n          piVar5 = (int *)(iVar4 + 0x90);\n        }" ({ "{") (expression_statement "*piVar5 = iVar4;" (assignment_expression "*piVar5 = iVar4" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar5 = (int *)(iVar4 + 0x90);" (assignment_expression "piVar5 = (int *)(iVar4 + 0x90)" (identifier "piVar5") (= "=") (cast_expression "(int *)(iVar4 + 0x90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x90)" (( "(") (binary_expression "iVar4 + 0x90" (identifier "iVar4") (+ "+") (number_literal "0x90")) () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_00016b57;" (goto "goto") (statement_identifier "LAB_00016b57") (; ";")) (} "}"))) (expression_statement "pcVar2 = "%s: file %s is not an archive\n";" (assignment_expression "pcVar2 = "%s: file %s is not an archive\n"" (identifier "pcVar2") (= "=") (string_literal ""%s: file %s is not an archive\n"" (" """) (string_content "%s: file %s is not an archive") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (expression_statement "uVar6 = DAT_000213a0;" (assignment_expression "uVar6 = DAT_000213a0" (identifier "uVar6") (= "=") (identifier "DAT_000213a0")) (; ";")) (expression_statement "__format = (char *)dcgettext(0,pcVar2,5);" (assignment_expression "__format = (char *)dcgettext(0,pcVar2,5)" (identifier "__format") (= "=") (cast_expression "(char *)dcgettext(0,pcVar2,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar2,5)" (identifier "dcgettext") (argument_list "(0,pcVar2,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar2") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "pcVar2 = param_1;" (assignment_expression "pcVar2 = param_1" (identifier "pcVar2") (= "=") (identifier "param_1")) (; ";")) (} "}")))) (expression_statement "fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);" (call_expression "fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2)" (identifier "fprintf") (argument_list "(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2)" (( "(") (pointer_expression "*(FILE **)PTR_stderr_00020fd4" (* "*") (cast_expression "(FILE **)PTR_stderr_00020fd4" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stderr_00020fd4"))) (, ",") (identifier "__format") (, ",") (identifier "uVar6") (, ",") (identifier "pcVar2") () ")"))) (; ";")) (if_statement "if (DAT_0002124c != 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_0002124c != 0)" (( "(") (binary_expression "DAT_0002124c != 0" (identifier "DAT_0002124c") (!= "!=") (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") () ")"))) (; ";")) (} "}")))

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

void function_1(char *name,int var_10)

{
  size_t var_3;
  char *pcVar2;
  int var_6;
  int var_14;
  char *__format;
  type_1 **ppbVar5;
  char *pcVar6;
  type_1 *var_16;
  
  var_3 = var_1(name);
  pcVar2 = (char *)var_2(var_3 + 10);
  var_6 = var_4(name);
  real_name = name;
  var_5(pcVar2,"%.*stmp-%s",var_6 - (int)name,name,var_6);
  var_8 = (type_1 *)var_7(pcVar2,0);
  pcVar6 = 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_00016b57:
      var_11(var_8,2);
      *(type_2 *)&var_8->field_0x2b = *(type_2 *)&var_8->field_0x2b & 0xfe7f | 0x80;
      return;
    }
    var_6 = var_12(name,0);
    if (var_6 == 0) {
      pcVar2 = "%s: Can\'t open input archive %s\n";
    }
    else {
      var_14 = var_13(var_6,2);
      if (var_14 != 0) {
        var_16 = (type_1 *)0x0;
        ppbVar5 = &var_8->archive_head;
        while (var_16 = (type_1 *)var_15(var_6,var_16), var_16 != (type_1 *)0x0) {
          *ppbVar5 = var_16;
          ppbVar5 = &var_16->archive_next;
        }
        goto LAB_00016b57;
      }
      pcVar2 = "%s: file %s is not an archive\n";
    }
    pcVar6 = program_name;
    __format = (char *)var_9(0,pcVar2,5);
    pcVar2 = name;
  }
  var_17(*(type_3 **)PTR_stderr_00020fd4,__format,pcVar6,pcVar2);
  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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (primitive_type) declarator: (pointer_declarator 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: (primitive_type)) 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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))) 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: (primitive_type) 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: (string_literal (string_content) (escape_sequence))))))) (expression_statement (assignment_expression left: (identifier) right: (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) (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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)))))))

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

void MASKED(char *param_1,int param_2)

{
  size_t sVar1;
  char *pcVar2;
  int iVar3;
  int iVar4;
  char *__format;
  int *piVar5;
  undefined4 uVar6;
  
  sVar1 = strlen(param_1);
  pcVar2 = (char *)xmalloc(sVar1 + 10);
  iVar3 = lbasename(param_1);
  DAT_000212dc = param_1;
  sprintf(pcVar2,"%.*stmp-%s",iVar3 - (int)param_1,param_1,iVar3);
  DAT_000212e0 = bfd_openw(pcVar2,0);
  uVar6 = DAT_000213a0;
  if (DAT_000212e0 == 0) {
    __format = (char *)dcgettext(0,"%s: Can\'t open output archive %s\n",5);
  }
  else {
    if (param_2 != 0) {
LAB_00016b57:
      bfd_set_format(DAT_000212e0,2);
      *(ushort *)(DAT_000212e0 + 0x2b) = *(ushort *)(DAT_000212e0 + 0x2b) & 0xfe7f | 0x80;
      return;
    }
    iVar3 = bfd_openr(param_1,0);
    if (iVar3 == 0) {
      pcVar2 = "%s: Can\'t open input archive %s\n";
    }
    else {
      iVar4 = bfd_check_format(iVar3,2);
      if (iVar4 != 0) {
        iVar4 = 0;
        piVar5 = (int *)(DAT_000212e0 + 0x94);
        while (iVar4 = bfd_openr_next_archived_file(iVar3,iVar4), iVar4 != 0) {
          *piVar5 = iVar4;
          piVar5 = (int *)(iVar4 + 0x90);
        }
        goto LAB_00016b57;
      }
      pcVar2 = "%s: file %s is not an archive\n";
    }
    uVar6 = DAT_000213a0;
    __format = (char *)dcgettext(0,pcVar2,5);
    pcVar2 = param_1;
  }
  fprintf(*(FILE **)PTR_stderr_00020fd4,__format,uVar6,pcVar2);
  if (DAT_0002124c != 0) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  xexit(9);
}

