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

void ldlang_open_output(lang_statement_union_type *statement)

{
  undefined4 *puVar1;
  bfd *pbVar2;
  int iVar3;
  bfd_boolean bVar4;
  uint uVar5;
  char *pcVar6;
  char *pcVar7;
  char *fmt;
  uint uVar8;
  
  if ((statement->header).type == lang_target_statement_enum) {
    current_target = (statement->wild_statement).filename;
    return;
  }
  if ((statement->header).type != lang_output_statement_enum) {
    return;
  }
  if (link_info.output_bfd != (bfd *)0x0) {
    info_assert("../../ld/ldlang.c",0xc7e);
  }
  pcVar7 = (statement->wild_statement).filename;
  output_target = lang_get_output_target();
  if (((command_line.endian != ENDIAN_UNSET) &&
      (iVar3 = bfd_iterate_over_targets(get_target,output_target), iVar3 != 0)) &&
     (*(uint *)(iVar3 + 8) != (uint)(command_line.endian != ENDIAN_BIG))) {
    puVar1 = *(undefined4 **)(iVar3 + 0x1bc);
    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(command_line.endian != ENDIAN_BIG))) {
      bfd_iterate_over_targets(closest_target_match,iVar3);
      if (winner == (bfd_target *)0x0) {
        pcVar6 = (char *)dcgettext(0,
                                   "%P: warning: could not find any targets that match endianness requirement\n"
                                   ,5);
        einfo(pcVar6);
      }
      else {
        output_target = winner->name;
      }
    }
    else {
      output_target = (char *)*puVar1;
    }
  }
  link_info.output_bfd = (bfd *)bfd_openw(pcVar7,output_target);
  if (link_info.output_bfd == (bfd *)0x0) {
    iVar3 = bfd_get_error();
    pcVar6 = output_target;
    if (iVar3 == 2) {
      fmt = (char *)dcgettext(0,"%F%P: target %s not found\n",5);
      einfo(fmt,pcVar6);
    }
    pcVar6 = (char *)dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);
    einfo(pcVar6,pcVar7);
  }
  delete_output_file_on_failure = 1;
  iVar3 = bfd_set_format(link_info.output_bfd,1);
  if (iVar3 == 0) {
    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);
    einfo(pcVar6,pcVar7);
  }
  bVar4 = (*(link_info.output_bfd)->xvec->_bfd_set_arch_mach)
                    (link_info.output_bfd,ldfile_output_architecture,ldfile_output_machine);
  if (bVar4 == 0) {
    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);
    einfo(pcVar6,pcVar7);
  }
  link_info.hash =
       (*(link_info.output_bfd)->xvec->_bfd_link_hash_table_create)(link_info.output_bfd);
  if (link_info.hash == (bfd_link_hash_table *)0x0) {
    pcVar7 = (char *)dcgettext(0,"%F%P: can not create hash table: %E\n",5);
    einfo(pcVar7);
  }
  bfd_set_gp_size(link_info.output_bfd,g_switch_value);
  ldemul_set_output_arch();
  pbVar2 = link_info.output_bfd;
  if (config.magic_demand_paged == 0) {
    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;
  }
  else {
    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;
    if ((link_info._0_1_ & 3) != 2) {
      uVar8 = uVar8 | 0x100;
      uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;
      *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;
      goto joined_r0x0002446d;
    }
  }
  uVar8 = uVar8 & 0xffeff;
  uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;
  *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;
joined_r0x0002446d:
  if (config.text_read_only == 0) {
    uVar8 = uVar8 & 0xfff7f;
  }
  else {
    uVar8 = uVar8 | 0x80;
  }
  uVar5 = uVar5 & 0xfe00001f;
  *(uint *)&pbVar2->field_0x28 = uVar5 | uVar8 << 5;
  if ((link_info._4_1_ & 0x20) == 0) {
    *(uint *)&pbVar2->field_0x28 = uVar5 | (uVar8 & 0xffbff) << 5;
    return;
  }
  *(uint *)&pbVar2->field_0x28 = (uVar8 | 0x400) << 5 | uVar5;
  return;
}



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

void FUN_00024290(int param_1)

{
  undefined4 *puVar1;
  int iVar2;
  uint uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  uint uVar7;
  
  if (*(int *)(param_1 + 4) == 10) {
    DAT_00094990 = *(undefined4 *)(param_1 + 8);
    return;
  }
  if (*(int *)(param_1 + 4) != 0xb) {
    return;
  }
  if (DAT_00094e30 != 0) {
    FUN_00031740("../../ld/ldlang.c",0xc7e);
  }
  uVar5 = *(undefined4 *)(param_1 + 8);
  DAT_00094dbc = FUN_000241e0();
  if (((DAT_00094ed0 != 0) &&
      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&
     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {
    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);
    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {
      bfd_iterate_over_targets(FUN_00020190,iVar2);
      if (DAT_00094924 == (undefined4 *)0x0) {
        uVar4 = dcgettext(0,
                          "%P: warning: could not find any targets that match endianness requirement\n"
                          ,5);
        FUN_000316f0(uVar4);
      }
      else {
        DAT_00094dbc = *DAT_00094924;
      }
    }
    else {
      DAT_00094dbc = *puVar1;
    }
  }
  DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);
  if (DAT_00094e30 == 0) {
    iVar2 = bfd_get_error();
    uVar4 = DAT_00094dbc;
    if (iVar2 == 2) {
      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);
      FUN_000316f0(uVar6,uVar4);
    }
    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);
    FUN_000316f0(uVar4,uVar5);
  }
  DAT_000948c4 = 1;
  iVar2 = bfd_set_format(DAT_00094e30,1);
  if (iVar2 == 0) {
    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);
    FUN_000316f0(uVar4,uVar5);
  }
  iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);
  if (iVar2 == 0) {
    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);
    FUN_000316f0(uVar4,uVar5);
  }
  DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);
  if (DAT_00094e1c == 0) {
    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);
    FUN_000316f0(uVar5);
  }
  bfd_set_gp_size(DAT_00094e30,DAT_00094348);
  FUN_0002ff80();
  iVar2 = DAT_00094e30;
  if (DAT_00094f00 == 0) {
    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;
  }
  else {
    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;
    if ((DAT_00094e00 & 3) != 2) {
      uVar7 = uVar7 | 0x100;
      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;
      *(uint *)(DAT_00094e30 + 0x28) = uVar3;
      goto joined_r0x0002446d;
    }
  }
  uVar7 = uVar7 & 0xffeff;
  uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;
  *(uint *)(DAT_00094e30 + 0x28) = uVar3;
joined_r0x0002446d:
  if (DAT_00094f30 == 0) {
    uVar7 = uVar7 & 0xfff7f;
  }
  else {
    uVar7 = uVar7 | 0x80;
  }
  uVar3 = uVar3 & 0xfe00001f;
  *(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;
  if ((DAT_00094e04 & 0x20) == 0) {
    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;
    return;
  }
  *(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00015a10
ADD EBX,0x6fd67
SUB ESP,0x1c
MOV EDI,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [EDI + 0x4]
CMP EAX,0xa
JZ 0x00024420
CMP EAX,0xb
JNZ 0x00024411
LEA ESI,[EBX + 0xe00]
MOV EBP,dword ptr [ESI + 0x30]
TEST EBP,EBP
JZ 0x000242df
SUB ESP,0x8
LEA EAX,[EBX + 0xfffbacfe]
PUSH 0xc7e
PUSH EAX
CALL 0x00031740
ADD ESP,0x10
MOV EDI,dword ptr [EDI + 0x8]
CALL 0x000241e0
LEA EDX,[EBX + 0xea0]
LEA EBP,[EBX + 0xdbc]
MOV ECX,dword ptr [EDX + 0x30]
MOV dword ptr [EBP],EAX
TEST ECX,ECX
JNZ 0x000244f0
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x00014870
ADD ESP,0x10
MOV dword ptr [ESI + 0x30],EAX
TEST EAX,EAX
JZ 0x00024598
MOV dword ptr [EBX + 0x8c4],0x1
SUB ESP,0x8
PUSH 0x1
PUSH EAX
CALL 0x00014610
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000244c8
MOV EAX,dword ptr [ESI + 0x30]
LEA ECX,[EBX + 0xfe0]
SUB ESP,0x4
MOV EDX,dword ptr [EAX + 0x4]
PUSH dword ptr [ECX]
LEA ECX,[EBX + 0xfdc]
PUSH dword ptr [ECX]
PUSH EAX
CALL dword ptr [EDX + 0x154]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000244a0
MOV EAX,dword ptr [ESI + 0x30]
SUB ESP,0xc
MOV EDX,dword ptr [EAX + 0x4]
PUSH EAX
CALL dword ptr [EDX + 0x168]
MOV dword ptr [ESI + 0x1c],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00024570
LEA EAX,[EBX + 0x348]
SUB ESP,0x8
PUSH dword ptr [EAX]
PUSH dword ptr [ESI + 0x30]
CALL 0x00014860
CALL 0x0002ff80
LEA EBX,[EBX + 0xf00]
ADD ESP,0x10
MOV ECX,dword ptr [ESI + 0x30]
MOV EDI,dword ptr [EBX]
TEST EDI,EDI
JNZ 0x00024438
MOV EDX,dword ptr [ECX + 0x28]
SHR EDX,0x5
AND EDX,0xfffff
MOV EAX,dword ptr [ECX + 0x28]
AND EDX,0xffeff
MOV EDI,EDX
SHL EDI,0x5
AND EAX,0xfe00001f
OR EAX,EDI
MOV dword ptr [ECX + 0x28],EAX
MOV EBX,dword ptr [EBX + 0x30]
TEST EBX,EBX
JZ 0x00024473
OR DL,0x80
MOV EBX,EDX
AND EAX,0xfe00001f
SHL EBX,0x5
OR EAX,EBX
MOV dword ptr [ECX + 0x28],EAX
TEST byte ptr [ESI + 0x4],0x20
JZ 0x00024480
OR DH,0x4
AND EAX,0xfe00001f
AND EDX,0xfffff
SHL EDX,0x5
OR EDX,EAX
MOV dword ptr [ECX + 0x28],EDX
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EDI + 0x8]
MOV dword ptr [EBX + 0x990],EAX
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDI,dword ptr [ECX + 0x28]
MOVZX EAX,byte ptr [ESI]
MOV EDX,EDI
AND EAX,0x3
SHR EDX,0x5
AND EDX,0xfffff
CMP AL,0x2
JZ 0x000243bc
OR DH,0x1
MOV EAX,EDI
MOV EBP,EDX
AND EAX,0xfe00001f
SHL EBP,0x5
OR EAX,EBP
MOV dword ptr [ECX + 0x28],EAX
MOV EBX,dword ptr [EBX + 0x30]
TEST EBX,EBX
JNZ 0x000243df
AND EDX,0xfff7f
JMP 0x000243e2
AND EDX,0xffbff
AND EAX,0xfe00001f
SHL EDX,0x5
OR EAX,EDX
MOV dword ptr [ECX + 0x28],EAX
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffbb7d4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142e0
POP EBP
POP EDX
PUSH EDI
PUSH EAX
CALL 0x000316f0
ADD ESP,0x10
JMP 0x00024364
SUB ESP,0x4
LEA EAX,[EBX + 0xfffbb7ac]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142e0
POP ECX
POP EBP
PUSH EDI
PUSH EAX
CALL 0x000316f0
ADD ESP,0x10
JMP 0x00024339
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfff89f70]
PUSH EAX
CALL 0x000147d0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JZ 0x00024560
CMP dword ptr [EDX + 0x30],0x1
SETNZ DL
MOVZX EDX,DL
CMP dword ptr [EAX + 0x8],EDX
JZ 0x00024560
MOV ECX,dword ptr [EAX + 0x1bc]
TEST ECX,ECX
JZ 0x00024531
CMP dword ptr [ECX + 0x8],EDX
JZ 0x000245f8
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfff8c190]
PUSH EAX
CALL 0x000147d0
MOV EAX,dword ptr [EBX + 0x924]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00024602
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP],EAX
JMP 0x00024301
MOV EAX,dword ptr [EBP]
JMP 0x00024301
SUB ESP,0x4
LEA EAX,[EBX + 0xfffbb68c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142e0
MOV dword ptr [ESP],EAX
CALL 0x000316f0
ADD ESP,0x10
JMP 0x00024382
CALL 0x00014430
CMP EAX,0x2
JZ 0x000245d0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffbb784]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142e0
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x000316f0
MOV EAX,dword ptr [ESI + 0x30]
ADD ESP,0x10
JMP 0x00024319
SUB ESP,0x4
LEA EAX,[EBX + 0xfffbb06b]
MOV EBP,dword ptr [EBP]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142e0
POP EDX
POP ECX
PUSH EBP
PUSH EAX
CALL 0x000316f0
ADD ESP,0x10
JMP 0x000245a2
MOV EAX,dword ptr [ECX]
MOV dword ptr [EBP],EAX
JMP 0x00024301
SUB ESP,0x4
LEA EAX,[EBX + 0xfffbb738]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142e0
MOV dword ptr [ESP],EAX
CALL 0x000316f0
MOV EAX,dword ptr [EBP]
ADD ESP,0x10
JMP 0x00024301
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00024290(int param_1)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  \n  if (*(int *)(param_1 + 4) == 10) {\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }\n  if (*(int *)(param_1 + 4) != 0xb) {\n    return;\n  }\n  if (DAT_00094e30 != 0) {\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }\n  uVar5 = *(undefined4 *)(param_1 + 8);\n  DAT_00094dbc = FUN_000241e0();\n  if (((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }\n  DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);\n  if (DAT_00094e30 == 0) {\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_000948c4 = 1;\n  iVar2 = bfd_set_format(DAT_00094e30,1);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);\n  if (DAT_00094e1c == 0) {\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }\n  bfd_set_gp_size(DAT_00094e30,DAT_00094348);\n  FUN_0002ff80();\n  iVar2 = DAT_00094e30;\n  if (DAT_00094f00 == 0) {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }\n  else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }\n  uVar7 = uVar7 & 0xffeff;\n  uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n  *(uint *)(DAT_00094e30 + 0x28) = uVar3;\njoined_r0x0002446d:\n  if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }\n  uVar3 = uVar3 & 0xfe00001f;\n  *(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;\n  if ((DAT_00094e04 & 0x20) == 0) {\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }\n  *(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;\n  return;\n}\n\n" comment (function_definition "void FUN_00024290(int param_1)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  \n  if (*(int *)(param_1 + 4) == 10) {\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }\n  if (*(int *)(param_1 + 4) != 0xb) {\n    return;\n  }\n  if (DAT_00094e30 != 0) {\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }\n  uVar5 = *(undefined4 *)(param_1 + 8);\n  DAT_00094dbc = FUN_000241e0();\n  if (((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }\n  DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);\n  if (DAT_00094e30 == 0) {\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_000948c4 = 1;\n  iVar2 = bfd_set_format(DAT_00094e30,1);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);\n  if (DAT_00094e1c == 0) {\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }\n  bfd_set_gp_size(DAT_00094e30,DAT_00094348);\n  FUN_0002ff80();\n  iVar2 = DAT_00094e30;\n  if (DAT_00094f00 == 0) {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }\n  else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }\n  uVar7 = uVar7 & 0xffeff;\n  uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n  *(uint *)(DAT_00094e30 + 0x28) = uVar3;\njoined_r0x0002446d:\n  if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }\n  uVar3 = uVar3 & 0xfe00001f;\n  *(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;\n  if ((DAT_00094e04 & 0x20) == 0) {\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }\n  *(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;\n  return;\n}" primitive_type (function_declarator "FUN_00024290(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  \n  if (*(int *)(param_1 + 4) == 10) {\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }\n  if (*(int *)(param_1 + 4) != 0xb) {\n    return;\n  }\n  if (DAT_00094e30 != 0) {\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }\n  uVar5 = *(undefined4 *)(param_1 + 8);\n  DAT_00094dbc = FUN_000241e0();\n  if (((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }\n  DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);\n  if (DAT_00094e30 == 0) {\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_000948c4 = 1;\n  iVar2 = bfd_set_format(DAT_00094e30,1);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);\n  if (DAT_00094e1c == 0) {\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }\n  bfd_set_gp_size(DAT_00094e30,DAT_00094348);\n  FUN_0002ff80();\n  iVar2 = DAT_00094e30;\n  if (DAT_00094f00 == 0) {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }\n  else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }\n  uVar7 = uVar7 & 0xffeff;\n  uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n  *(uint *)(DAT_00094e30 + 0x28) = uVar3;\njoined_r0x0002446d:\n  if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }\n  uVar3 = uVar3 & 0xfe00001f;\n  *(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;\n  if ((DAT_00094e04 & 0x20) == 0) {\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }\n  *(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (if_statement "if (*(int *)(param_1 + 4) == 10) {\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 10)" ( (binary_expression "*(int *)(param_1 + 4) == 10" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }" { (expression_statement "DAT_00094990 = *(undefined4 *)(param_1 + 8);" (assignment_expression "DAT_00094990 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(param_1 + 4) != 0xb) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 4) != 0xb)" ( (binary_expression "*(int *)(param_1 + 4) != 0xb" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_00094e30 != 0) {\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }" if (parenthesized_expression "(DAT_00094e30 != 0)" ( (binary_expression "DAT_00094e30 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }" { (expression_statement "FUN_00031740("../../ld/ldlang.c",0xc7e);" (call_expression "FUN_00031740("../../ld/ldlang.c",0xc7e)" identifier (argument_list "("../../ld/ldlang.c",0xc7e)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "uVar5 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar5 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "DAT_00094dbc = FUN_000241e0();" (assignment_expression "DAT_00094dbc = FUN_000241e0()" identifier = (call_expression "FUN_000241e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }" if (parenthesized_expression "(((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1)))" ( (binary_expression "((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))" (parenthesized_expression "((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0))" ( (binary_expression "(DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)" (parenthesized_expression "(DAT_00094ed0 != 0)" ( (binary_expression "DAT_00094ed0 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)" ( (comma_expression "iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0" (assignment_expression "iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc)" identifier = (call_expression "bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc)" identifier (argument_list "(FUN_0001df70,DAT_00094dbc)" ( identifier , identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))" ( (binary_expression "*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1)" (pointer_expression "*(uint *)(iVar2 + 8)" * (cast_expression "(uint *)(iVar2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) != (call_expression "(uint)(DAT_00094ed0 != 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00094ed0 != 1)" ( (binary_expression "DAT_00094ed0 != 1" identifier != number_literal) )))) ))) )) (compound_statement "{\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }" { (expression_statement "puVar1 = *(undefined4 **)(iVar2 + 0x1bc);" (assignment_expression "puVar1 = *(undefined4 **)(iVar2 + 0x1bc)" identifier = (pointer_expression "*(undefined4 **)(iVar2 + 0x1bc)" * (cast_expression "(undefined4 **)(iVar2 + 0x1bc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x1bc)" ( (binary_expression "iVar2 + 0x1bc" identifier + number_literal) ))))) ;) (if_statement "if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }" if (parenthesized_expression "((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1)))" ( (binary_expression "(puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))" (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar1[2] != (uint)(DAT_00094ed0 != 1))" ( (binary_expression "puVar1[2] != (uint)(DAT_00094ed0 != 1)" (subscript_expression "puVar1[2]" identifier [ number_literal ]) != (call_expression "(uint)(DAT_00094ed0 != 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00094ed0 != 1)" ( (binary_expression "DAT_00094ed0 != 1" identifier != number_literal) )))) ))) )) (compound_statement "{\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }" { (expression_statement "bfd_iterate_over_targets(FUN_00020190,iVar2);" (call_expression "bfd_iterate_over_targets(FUN_00020190,iVar2)" identifier (argument_list "(FUN_00020190,iVar2)" ( identifier , identifier ))) ;) (if_statement "if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }" if (parenthesized_expression "(DAT_00094924 == (undefined4 *)0x0)" ( (binary_expression "DAT_00094924 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }" { (expression_statement "uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);" (assignment_expression "uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5)" identifier = (call_expression "dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5)" identifier (argument_list "(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5)" ( number_literal , (string_literal ""%P: warning: could not find any targets that match endianness requirement\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar4);" (call_expression "FUN_000316f0(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) }) (else_clause "else {\n        DAT_00094dbc = *DAT_00094924;\n      }" else (compound_statement "{\n        DAT_00094dbc = *DAT_00094924;\n      }" { (expression_statement "DAT_00094dbc = *DAT_00094924;" (assignment_expression "DAT_00094dbc = *DAT_00094924" identifier = (pointer_expression "*DAT_00094924" * identifier)) ;) }))) }) (else_clause "else {\n      DAT_00094dbc = *puVar1;\n    }" else (compound_statement "{\n      DAT_00094dbc = *puVar1;\n    }" { (expression_statement "DAT_00094dbc = *puVar1;" (assignment_expression "DAT_00094dbc = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) }))) })) (expression_statement "DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);" (assignment_expression "DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc)" identifier = (call_expression "bfd_openw(uVar5,DAT_00094dbc)" identifier (argument_list "(uVar5,DAT_00094dbc)" ( identifier , identifier )))) ;) (if_statement "if (DAT_00094e30 == 0) {\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" if (parenthesized_expression "(DAT_00094e30 == 0)" ( (binary_expression "DAT_00094e30 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" { (expression_statement "iVar2 = bfd_get_error();" (assignment_expression "iVar2 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar4 = DAT_00094dbc;" (assignment_expression "uVar4 = DAT_00094dbc" identifier = identifier) ;) (if_statement "if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }" { (expression_statement "uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);" (assignment_expression "uVar6 = dcgettext(0,"%F%P: target %s not found\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: target %s not found\n",5)" identifier (argument_list "(0,"%F%P: target %s not found\n",5)" ( number_literal , (string_literal ""%F%P: target %s not found\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar6,uVar4);" (call_expression "FUN_000316f0(uVar6,uVar4)" identifier (argument_list "(uVar6,uVar4)" ( identifier , identifier ))) ;) })) (expression_statement "uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: cannot open output file %s: %E\n",5)" identifier (argument_list "(0,"%F%P: cannot open output file %s: %E\n",5)" ( number_literal , (string_literal ""%F%P: cannot open output file %s: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar4,uVar5);" (call_expression "FUN_000316f0(uVar4,uVar5)" identifier (argument_list "(uVar4,uVar5)" ( identifier , identifier ))) ;) })) (expression_statement "DAT_000948c4 = 1;" (assignment_expression "DAT_000948c4 = 1" identifier = number_literal) ;) (expression_statement "iVar2 = bfd_set_format(DAT_00094e30,1);" (assignment_expression "iVar2 = bfd_set_format(DAT_00094e30,1)" identifier = (call_expression "bfd_set_format(DAT_00094e30,1)" identifier (argument_list "(DAT_00094e30,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" { (expression_statement "uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: %s: can not make object file: %E\n",5)" identifier (argument_list "(0,"%F%P: %s: can not make object file: %E\n",5)" ( number_literal , (string_literal ""%F%P: %s: can not make object file: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar4,uVar5);" (call_expression "FUN_000316f0(uVar4,uVar5)" identifier (argument_list "(uVar4,uVar5)" ( identifier , identifier ))) ;) })) (expression_statement "iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);" (assignment_expression "iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0)" identifier = (call_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))" ( (pointer_expression "**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154)" * (pointer_expression "*(code **)(*(int *)(DAT_00094e30 + 4) + 0x154)" * (cast_expression "(code **)(*(int *)(DAT_00094e30 + 4) + 0x154)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00094e30 + 4) + 0x154)" ( (binary_expression "*(int *)(DAT_00094e30 + 4) + 0x154" (pointer_expression "*(int *)(DAT_00094e30 + 4)" * (cast_expression "(int *)(DAT_00094e30 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 4)" ( (binary_expression "DAT_00094e30 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(DAT_00094e30,DAT_00094fdc,DAT_00094fe0)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" { (expression_statement "uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5)" identifier (argument_list "(0,"%F%P: %s: can not set architecture: %E\n",5)" ( number_literal , (string_literal ""%F%P: %s: can not set architecture: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar4,uVar5);" (call_expression "FUN_000316f0(uVar4,uVar5)" identifier (argument_list "(uVar4,uVar5)" ( identifier , identifier ))) ;) })) (expression_statement "DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);" (assignment_expression "DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30)" identifier = (call_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))" ( (pointer_expression "**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168)" * (pointer_expression "*(code **)(*(int *)(DAT_00094e30 + 4) + 0x168)" * (cast_expression "(code **)(*(int *)(DAT_00094e30 + 4) + 0x168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00094e30 + 4) + 0x168)" ( (binary_expression "*(int *)(DAT_00094e30 + 4) + 0x168" (pointer_expression "*(int *)(DAT_00094e30 + 4)" * (cast_expression "(int *)(DAT_00094e30 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 4)" ( (binary_expression "DAT_00094e30 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(DAT_00094e30)" ( identifier )))) ;) (if_statement "if (DAT_00094e1c == 0) {\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }" if (parenthesized_expression "(DAT_00094e1c == 0)" ( (binary_expression "DAT_00094e1c == 0" identifier == number_literal) )) (compound_statement "{\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }" { (expression_statement "uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);" (assignment_expression "uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: can not create hash table: %E\n",5)" identifier (argument_list "(0,"%F%P: can not create hash table: %E\n",5)" ( number_literal , (string_literal ""%F%P: can not create hash table: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar5);" (call_expression "FUN_000316f0(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) })) (expression_statement "bfd_set_gp_size(DAT_00094e30,DAT_00094348);" (call_expression "bfd_set_gp_size(DAT_00094e30,DAT_00094348)" identifier (argument_list "(DAT_00094e30,DAT_00094348)" ( identifier , identifier ))) ;) (expression_statement "FUN_0002ff80();" (call_expression "FUN_0002ff80()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar2 = DAT_00094e30;" (assignment_expression "iVar2 = DAT_00094e30" identifier = identifier) ;) (if_statement "if (DAT_00094f00 == 0) {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }\n  else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }" if (parenthesized_expression "(DAT_00094f00 == 0)" ( (binary_expression "DAT_00094f00 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }" { (expression_statement "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;" (assignment_expression "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" identifier = (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) >> number_literal) & number_literal)) ;) }) (else_clause "else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }" else (compound_statement "{\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }" { (expression_statement "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;" (assignment_expression "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" identifier = (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) >> number_literal) & number_literal)) ;) (if_statement "if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }" if (parenthesized_expression "((DAT_00094e00 & 3) != 2)" ( (binary_expression "(DAT_00094e00 & 3) != 2" (parenthesized_expression "(DAT_00094e00 & 3)" ( (binary_expression "DAT_00094e00 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }" { (expression_statement "uVar7 = uVar7 | 0x100;" (assignment_expression "uVar7 = uVar7 | 0x100" identifier = (binary_expression "uVar7 | 0x100" identifier | number_literal)) ;) (expression_statement "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;" (assignment_expression "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" identifier = (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) & number_literal) | (binary_expression "uVar7 << 5" identifier << number_literal))) ;) (expression_statement "*(uint *)(DAT_00094e30 + 0x28) = uVar3;" (assignment_expression "*(uint *)(DAT_00094e30 + 0x28) = uVar3" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto joined_r0x0002446d;" goto statement_identifier ;) })) }))) (expression_statement "uVar7 = uVar7 & 0xffeff;" (assignment_expression "uVar7 = uVar7 & 0xffeff" identifier = (binary_expression "uVar7 & 0xffeff" identifier & number_literal)) ;) (expression_statement "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;" (assignment_expression "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" identifier = (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) & number_literal) | (binary_expression "uVar7 << 5" identifier << number_literal))) ;) (expression_statement "*(uint *)(DAT_00094e30 + 0x28) = uVar3;" (assignment_expression "*(uint *)(DAT_00094e30 + 0x28) = uVar3" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) = identifier) ;) (labeled_statement "joined_r0x0002446d:\n  if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }" statement_identifier : (if_statement "if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }" if (parenthesized_expression "(DAT_00094f30 == 0)" ( (binary_expression "DAT_00094f30 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar7 = uVar7 & 0xfff7f;\n  }" { (expression_statement "uVar7 = uVar7 & 0xfff7f;" (assignment_expression "uVar7 = uVar7 & 0xfff7f" identifier = (binary_expression "uVar7 & 0xfff7f" identifier & number_literal)) ;) }) (else_clause "else {\n    uVar7 = uVar7 | 0x80;\n  }" else (compound_statement "{\n    uVar7 = uVar7 | 0x80;\n  }" { (expression_statement "uVar7 = uVar7 | 0x80;" (assignment_expression "uVar7 = uVar7 | 0x80" identifier = (binary_expression "uVar7 | 0x80" identifier | number_literal)) ;) })))) (expression_statement "uVar3 = uVar3 & 0xfe00001f;" (assignment_expression "uVar3 = uVar3 & 0xfe00001f" identifier = (binary_expression "uVar3 & 0xfe00001f" identifier & number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;" (assignment_expression "*(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar3 | uVar7 << 5" identifier | (binary_expression "uVar7 << 5" identifier << number_literal))) ;) (if_statement "if ((DAT_00094e04 & 0x20) == 0) {\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }" if (parenthesized_expression "((DAT_00094e04 & 0x20) == 0)" ( (binary_expression "(DAT_00094e04 & 0x20) == 0" (parenthesized_expression "(DAT_00094e04 & 0x20)" ( (binary_expression "DAT_00094e04 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }" { (expression_statement "*(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;" (assignment_expression "*(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar3 | (uVar7 & 0xffbff) << 5" identifier | (binary_expression "(uVar7 & 0xffbff) << 5" (parenthesized_expression "(uVar7 & 0xffbff)" ( (binary_expression "uVar7 & 0xffbff" identifier & number_literal) )) << number_literal))) ;) (return_statement "return;" return ;) })) (expression_statement "*(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;" (assignment_expression "*(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) = (binary_expression "(uVar7 | 0x400) << 5 | uVar3" (binary_expression "(uVar7 | 0x400) << 5" (parenthesized_expression "(uVar7 | 0x400)" ( (binary_expression "uVar7 | 0x400" identifier | number_literal) )) << number_literal) | identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid ldlang_open_output(lang_statement_union_type *statement)\n\n{\n  undefined4 *puVar1;\n  bfd *pbVar2;\n  int iVar3;\n  bfd_boolean bVar4;\n  uint uVar5;\n  char *pcVar6;\n  char *pcVar7;\n  char *fmt;\n  uint uVar8;\n  \n  if ((statement->header).type == lang_target_statement_enum) {\n    current_target = (statement->wild_statement).filename;\n    return;\n  }\n  if ((statement->header).type != lang_output_statement_enum) {\n    return;\n  }\n  if (link_info.output_bfd != (bfd *)0x0) {\n    info_assert("../../ld/ldlang.c",0xc7e);\n  }\n  pcVar7 = (statement->wild_statement).filename;\n  output_target = lang_get_output_target();\n  if (((command_line.endian != ENDIAN_UNSET) &&\n      (iVar3 = bfd_iterate_over_targets(get_target,output_target), iVar3 != 0)) &&\n     (*(uint *)(iVar3 + 8) != (uint)(command_line.endian != ENDIAN_BIG))) {\n    puVar1 = *(undefined4 **)(iVar3 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(command_line.endian != ENDIAN_BIG))) {\n      bfd_iterate_over_targets(closest_target_match,iVar3);\n      if (winner == (bfd_target *)0x0) {\n        pcVar6 = (char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5);\n        einfo(pcVar6);\n      }\n      else {\n        output_target = winner->name;\n      }\n    }\n    else {\n      output_target = (char *)*puVar1;\n    }\n  }\n  link_info.output_bfd = (bfd *)bfd_openw(pcVar7,output_target);\n  if (link_info.output_bfd == (bfd *)0x0) {\n    iVar3 = bfd_get_error();\n    pcVar6 = output_target;\n    if (iVar3 == 2) {\n      fmt = (char *)dcgettext(0,"%F%P: target %s not found\n",5);\n      einfo(fmt,pcVar6);\n    }\n    pcVar6 = (char *)dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }\n  delete_output_file_on_failure = 1;\n  iVar3 = bfd_set_format(link_info.output_bfd,1);\n  if (iVar3 == 0) {\n    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }\n  bVar4 = (*(link_info.output_bfd)->xvec->_bfd_set_arch_mach)\n                    (link_info.output_bfd,ldfile_output_architecture,ldfile_output_machine);\n  if (bVar4 == 0) {\n    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }\n  link_info.hash =\n       (*(link_info.output_bfd)->xvec->_bfd_link_hash_table_create)(link_info.output_bfd);\n  if (link_info.hash == (bfd_link_hash_table *)0x0) {\n    pcVar7 = (char *)dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    einfo(pcVar7);\n  }\n  bfd_set_gp_size(link_info.output_bfd,g_switch_value);\n  ldemul_set_output_arch();\n  pbVar2 = link_info.output_bfd;\n  if (config.magic_demand_paged == 0) {\n    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;\n  }\n  else {\n    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;\n    if ((link_info._0_1_ & 3) != 2) {\n      uVar8 = uVar8 | 0x100;\n      uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;\n      *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;\n      goto joined_r0x0002446d;\n    }\n  }\n  uVar8 = uVar8 & 0xffeff;\n  uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;\n  *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;\njoined_r0x0002446d:\n  if (config.text_read_only == 0) {\n    uVar8 = uVar8 & 0xfff7f;\n  }\n  else {\n    uVar8 = uVar8 | 0x80;\n  }\n  uVar5 = uVar5 & 0xfe00001f;\n  *(uint *)&pbVar2->field_0x28 = uVar5 | uVar8 << 5;\n  if ((link_info._4_1_ & 0x20) == 0) {\n    *(uint *)&pbVar2->field_0x28 = uVar5 | (uVar8 & 0xffbff) << 5;\n    return;\n  }\n  *(uint *)&pbVar2->field_0x28 = (uVar8 | 0x400) << 5 | uVar5;\n  return;\n}\n\n" comment (function_definition "void ldlang_open_output(lang_statement_union_type *statement)\n\n{\n  undefined4 *puVar1;\n  bfd *pbVar2;\n  int iVar3;\n  bfd_boolean bVar4;\n  uint uVar5;\n  char *pcVar6;\n  char *pcVar7;\n  char *fmt;\n  uint uVar8;\n  \n  if ((statement->header).type == lang_target_statement_enum) {\n    current_target = (statement->wild_statement).filename;\n    return;\n  }\n  if ((statement->header).type != lang_output_statement_enum) {\n    return;\n  }\n  if (link_info.output_bfd != (bfd *)0x0) {\n    info_assert("../../ld/ldlang.c",0xc7e);\n  }\n  pcVar7 = (statement->wild_statement).filename;\n  output_target = lang_get_output_target();\n  if (((command_line.endian != ENDIAN_UNSET) &&\n      (iVar3 = bfd_iterate_over_targets(get_target,output_target), iVar3 != 0)) &&\n     (*(uint *)(iVar3 + 8) != (uint)(command_line.endian != ENDIAN_BIG))) {\n    puVar1 = *(undefined4 **)(iVar3 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(command_line.endian != ENDIAN_BIG))) {\n      bfd_iterate_over_targets(closest_target_match,iVar3);\n      if (winner == (bfd_target *)0x0) {\n        pcVar6 = (char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5);\n        einfo(pcVar6);\n      }\n      else {\n        output_target = winner->name;\n      }\n    }\n    else {\n      output_target = (char *)*puVar1;\n    }\n  }\n  link_info.output_bfd = (bfd *)bfd_openw(pcVar7,output_target);\n  if (link_info.output_bfd == (bfd *)0x0) {\n    iVar3 = bfd_get_error();\n    pcVar6 = output_target;\n    if (iVar3 == 2) {\n      fmt = (char *)dcgettext(0,"%F%P: target %s not found\n",5);\n      einfo(fmt,pcVar6);\n    }\n    pcVar6 = (char *)dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }\n  delete_output_file_on_failure = 1;\n  iVar3 = bfd_set_format(link_info.output_bfd,1);\n  if (iVar3 == 0) {\n    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }\n  bVar4 = (*(link_info.output_bfd)->xvec->_bfd_set_arch_mach)\n                    (link_info.output_bfd,ldfile_output_architecture,ldfile_output_machine);\n  if (bVar4 == 0) {\n    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }\n  link_info.hash =\n       (*(link_info.output_bfd)->xvec->_bfd_link_hash_table_create)(link_info.output_bfd);\n  if (link_info.hash == (bfd_link_hash_table *)0x0) {\n    pcVar7 = (char *)dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    einfo(pcVar7);\n  }\n  bfd_set_gp_size(link_info.output_bfd,g_switch_value);\n  ldemul_set_output_arch();\n  pbVar2 = link_info.output_bfd;\n  if (config.magic_demand_paged == 0) {\n    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;\n  }\n  else {\n    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;\n    if ((link_info._0_1_ & 3) != 2) {\n      uVar8 = uVar8 | 0x100;\n      uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;\n      *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;\n      goto joined_r0x0002446d;\n    }\n  }\n  uVar8 = uVar8 & 0xffeff;\n  uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;\n  *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;\njoined_r0x0002446d:\n  if (config.text_read_only == 0) {\n    uVar8 = uVar8 & 0xfff7f;\n  }\n  else {\n    uVar8 = uVar8 | 0x80;\n  }\n  uVar5 = uVar5 & 0xfe00001f;\n  *(uint *)&pbVar2->field_0x28 = uVar5 | uVar8 << 5;\n  if ((link_info._4_1_ & 0x20) == 0) {\n    *(uint *)&pbVar2->field_0x28 = uVar5 | (uVar8 & 0xffbff) << 5;\n    return;\n  }\n  *(uint *)&pbVar2->field_0x28 = (uVar8 | 0x400) << 5 | uVar5;\n  return;\n}" primitive_type (function_declarator "ldlang_open_output(lang_statement_union_type *statement)" identifier (parameter_list "(lang_statement_union_type *statement)" ( (parameter_declaration "lang_statement_union_type *statement" type_identifier (pointer_declarator "*statement" * identifier)) ))) (compound_statement "{\n  undefined4 *puVar1;\n  bfd *pbVar2;\n  int iVar3;\n  bfd_boolean bVar4;\n  uint uVar5;\n  char *pcVar6;\n  char *pcVar7;\n  char *fmt;\n  uint uVar8;\n  \n  if ((statement->header).type == lang_target_statement_enum) {\n    current_target = (statement->wild_statement).filename;\n    return;\n  }\n  if ((statement->header).type != lang_output_statement_enum) {\n    return;\n  }\n  if (link_info.output_bfd != (bfd *)0x0) {\n    info_assert("../../ld/ldlang.c",0xc7e);\n  }\n  pcVar7 = (statement->wild_statement).filename;\n  output_target = lang_get_output_target();\n  if (((command_line.endian != ENDIAN_UNSET) &&\n      (iVar3 = bfd_iterate_over_targets(get_target,output_target), iVar3 != 0)) &&\n     (*(uint *)(iVar3 + 8) != (uint)(command_line.endian != ENDIAN_BIG))) {\n    puVar1 = *(undefined4 **)(iVar3 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(command_line.endian != ENDIAN_BIG))) {\n      bfd_iterate_over_targets(closest_target_match,iVar3);\n      if (winner == (bfd_target *)0x0) {\n        pcVar6 = (char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5);\n        einfo(pcVar6);\n      }\n      else {\n        output_target = winner->name;\n      }\n    }\n    else {\n      output_target = (char *)*puVar1;\n    }\n  }\n  link_info.output_bfd = (bfd *)bfd_openw(pcVar7,output_target);\n  if (link_info.output_bfd == (bfd *)0x0) {\n    iVar3 = bfd_get_error();\n    pcVar6 = output_target;\n    if (iVar3 == 2) {\n      fmt = (char *)dcgettext(0,"%F%P: target %s not found\n",5);\n      einfo(fmt,pcVar6);\n    }\n    pcVar6 = (char *)dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }\n  delete_output_file_on_failure = 1;\n  iVar3 = bfd_set_format(link_info.output_bfd,1);\n  if (iVar3 == 0) {\n    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }\n  bVar4 = (*(link_info.output_bfd)->xvec->_bfd_set_arch_mach)\n                    (link_info.output_bfd,ldfile_output_architecture,ldfile_output_machine);\n  if (bVar4 == 0) {\n    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }\n  link_info.hash =\n       (*(link_info.output_bfd)->xvec->_bfd_link_hash_table_create)(link_info.output_bfd);\n  if (link_info.hash == (bfd_link_hash_table *)0x0) {\n    pcVar7 = (char *)dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    einfo(pcVar7);\n  }\n  bfd_set_gp_size(link_info.output_bfd,g_switch_value);\n  ldemul_set_output_arch();\n  pbVar2 = link_info.output_bfd;\n  if (config.magic_demand_paged == 0) {\n    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;\n  }\n  else {\n    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;\n    if ((link_info._0_1_ & 3) != 2) {\n      uVar8 = uVar8 | 0x100;\n      uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;\n      *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;\n      goto joined_r0x0002446d;\n    }\n  }\n  uVar8 = uVar8 & 0xffeff;\n  uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;\n  *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;\njoined_r0x0002446d:\n  if (config.text_read_only == 0) {\n    uVar8 = uVar8 & 0xfff7f;\n  }\n  else {\n    uVar8 = uVar8 | 0x80;\n  }\n  uVar5 = uVar5 & 0xfe00001f;\n  *(uint *)&pbVar2->field_0x28 = uVar5 | uVar8 << 5;\n  if ((link_info._4_1_ & 0x20) == 0) {\n    *(uint *)&pbVar2->field_0x28 = uVar5 | (uVar8 & 0xffbff) << 5;\n    return;\n  }\n  *(uint *)&pbVar2->field_0x28 = (uVar8 | 0x400) << 5 | uVar5;\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "bfd *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "bfd_boolean bVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *fmt;" primitive_type (pointer_declarator "*fmt" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (if_statement "if ((statement->header).type == lang_target_statement_enum) {\n    current_target = (statement->wild_statement).filename;\n    return;\n  }" if (parenthesized_expression "((statement->header).type == lang_target_statement_enum)" ( (binary_expression "(statement->header).type == lang_target_statement_enum" (field_expression "(statement->header).type" (parenthesized_expression "(statement->header)" ( (field_expression "statement->header" identifier -> field_identifier) )) . field_identifier) == identifier) )) (compound_statement "{\n    current_target = (statement->wild_statement).filename;\n    return;\n  }" { (expression_statement "current_target = (statement->wild_statement).filename;" (assignment_expression "current_target = (statement->wild_statement).filename" identifier = (field_expression "(statement->wild_statement).filename" (parenthesized_expression "(statement->wild_statement)" ( (field_expression "statement->wild_statement" identifier -> field_identifier) )) . field_identifier)) ;) (return_statement "return;" return ;) })) (if_statement "if ((statement->header).type != lang_output_statement_enum) {\n    return;\n  }" if (parenthesized_expression "((statement->header).type != lang_output_statement_enum)" ( (binary_expression "(statement->header).type != lang_output_statement_enum" (field_expression "(statement->header).type" (parenthesized_expression "(statement->header)" ( (field_expression "statement->header" identifier -> field_identifier) )) . field_identifier) != identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (link_info.output_bfd != (bfd *)0x0) {\n    info_assert("../../ld/ldlang.c",0xc7e);\n  }" if (parenthesized_expression "(link_info.output_bfd != (bfd *)0x0)" ( (binary_expression "link_info.output_bfd != (bfd *)0x0" (field_expression "link_info.output_bfd" identifier . field_identifier) != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    info_assert("../../ld/ldlang.c",0xc7e);\n  }" { (expression_statement "info_assert("../../ld/ldlang.c",0xc7e);" (call_expression "info_assert("../../ld/ldlang.c",0xc7e)" identifier (argument_list "("../../ld/ldlang.c",0xc7e)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "pcVar7 = (statement->wild_statement).filename;" (assignment_expression "pcVar7 = (statement->wild_statement).filename" identifier = (field_expression "(statement->wild_statement).filename" (parenthesized_expression "(statement->wild_statement)" ( (field_expression "statement->wild_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "output_target = lang_get_output_target();" (assignment_expression "output_target = lang_get_output_target()" identifier = (call_expression "lang_get_output_target()" identifier (argument_list "()" ( )))) ;) (if_statement "if (((command_line.endian != ENDIAN_UNSET) &&\n      (iVar3 = bfd_iterate_over_targets(get_target,output_target), iVar3 != 0)) &&\n     (*(uint *)(iVar3 + 8) != (uint)(command_line.endian != ENDIAN_BIG))) {\n    puVar1 = *(undefined4 **)(iVar3 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(command_line.endian != ENDIAN_BIG))) {\n      bfd_iterate_over_targets(closest_target_match,iVar3);\n      if (winner == (bfd_target *)0x0) {\n        pcVar6 = (char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5);\n        einfo(pcVar6);\n      }\n      else {\n        output_target = winner->name;\n      }\n    }\n    else {\n      output_target = (char *)*puVar1;\n    }\n  }" if (parenthesized_expression "(((command_line.endian != ENDIAN_UNSET) &&\n      (iVar3 = bfd_iterate_over_targets(get_target,output_target), iVar3 != 0)) &&\n     (*(uint *)(iVar3 + 8) != (uint)(command_line.endian != ENDIAN_BIG)))" ( (binary_expression "((command_line.endian != ENDIAN_UNSET) &&\n      (iVar3 = bfd_iterate_over_targets(get_target,output_target), iVar3 != 0)) &&\n     (*(uint *)(iVar3 + 8) != (uint)(command_line.endian != ENDIAN_BIG))" (parenthesized_expression "((command_line.endian != ENDIAN_UNSET) &&\n      (iVar3 = bfd_iterate_over_targets(get_target,output_target), iVar3 != 0))" ( (binary_expression "(command_line.endian != ENDIAN_UNSET) &&\n      (iVar3 = bfd_iterate_over_targets(get_target,output_target), iVar3 != 0)" (parenthesized_expression "(command_line.endian != ENDIAN_UNSET)" ( (binary_expression "command_line.endian != ENDIAN_UNSET" (field_expression "command_line.endian" identifier . field_identifier) != identifier) )) && (parenthesized_expression "(iVar3 = bfd_iterate_over_targets(get_target,output_target), iVar3 != 0)" ( (comma_expression "iVar3 = bfd_iterate_over_targets(get_target,output_target), iVar3 != 0" (assignment_expression "iVar3 = bfd_iterate_over_targets(get_target,output_target)" identifier = (call_expression "bfd_iterate_over_targets(get_target,output_target)" identifier (argument_list "(get_target,output_target)" ( identifier , identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(*(uint *)(iVar3 + 8) != (uint)(command_line.endian != ENDIAN_BIG))" ( (binary_expression "*(uint *)(iVar3 + 8) != (uint)(command_line.endian != ENDIAN_BIG)" (pointer_expression "*(uint *)(iVar3 + 8)" * (cast_expression "(uint *)(iVar3 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) != (call_expression "(uint)(command_line.endian != ENDIAN_BIG)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(command_line.endian != ENDIAN_BIG)" ( (binary_expression "command_line.endian != ENDIAN_BIG" (field_expression "command_line.endian" identifier . field_identifier) != identifier) )))) ))) )) (compound_statement "{\n    puVar1 = *(undefined4 **)(iVar3 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(command_line.endian != ENDIAN_BIG))) {\n      bfd_iterate_over_targets(closest_target_match,iVar3);\n      if (winner == (bfd_target *)0x0) {\n        pcVar6 = (char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5);\n        einfo(pcVar6);\n      }\n      else {\n        output_target = winner->name;\n      }\n    }\n    else {\n      output_target = (char *)*puVar1;\n    }\n  }" { (expression_statement "puVar1 = *(undefined4 **)(iVar3 + 0x1bc);" (assignment_expression "puVar1 = *(undefined4 **)(iVar3 + 0x1bc)" identifier = (pointer_expression "*(undefined4 **)(iVar3 + 0x1bc)" * (cast_expression "(undefined4 **)(iVar3 + 0x1bc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x1bc)" ( (binary_expression "iVar3 + 0x1bc" identifier + number_literal) ))))) ;) (if_statement "if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(command_line.endian != ENDIAN_BIG))) {\n      bfd_iterate_over_targets(closest_target_match,iVar3);\n      if (winner == (bfd_target *)0x0) {\n        pcVar6 = (char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5);\n        einfo(pcVar6);\n      }\n      else {\n        output_target = winner->name;\n      }\n    }\n    else {\n      output_target = (char *)*puVar1;\n    }" if (parenthesized_expression "((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(command_line.endian != ENDIAN_BIG)))" ( (binary_expression "(puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(command_line.endian != ENDIAN_BIG))" (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar1[2] != (uint)(command_line.endian != ENDIAN_BIG))" ( (binary_expression "puVar1[2] != (uint)(command_line.endian != ENDIAN_BIG)" (subscript_expression "puVar1[2]" identifier [ number_literal ]) != (call_expression "(uint)(command_line.endian != ENDIAN_BIG)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(command_line.endian != ENDIAN_BIG)" ( (binary_expression "command_line.endian != ENDIAN_BIG" (field_expression "command_line.endian" identifier . field_identifier) != identifier) )))) ))) )) (compound_statement "{\n      bfd_iterate_over_targets(closest_target_match,iVar3);\n      if (winner == (bfd_target *)0x0) {\n        pcVar6 = (char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5);\n        einfo(pcVar6);\n      }\n      else {\n        output_target = winner->name;\n      }\n    }" { (expression_statement "bfd_iterate_over_targets(closest_target_match,iVar3);" (call_expression "bfd_iterate_over_targets(closest_target_match,iVar3)" identifier (argument_list "(closest_target_match,iVar3)" ( identifier , identifier ))) ;) (if_statement "if (winner == (bfd_target *)0x0) {\n        pcVar6 = (char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5);\n        einfo(pcVar6);\n      }\n      else {\n        output_target = winner->name;\n      }" if (parenthesized_expression "(winner == (bfd_target *)0x0)" ( (binary_expression "winner == (bfd_target *)0x0" identifier == (cast_expression "(bfd_target *)0x0" ( (type_descriptor "bfd_target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar6 = (char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5);\n        einfo(pcVar6);\n      }" { (expression_statement "pcVar6 = (char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5)" identifier (argument_list "(0,\n                                   "%P: warning: could not find any targets that match endianness requirement\n"\n                                   ,5)" ( number_literal , (string_literal ""%P: warning: could not find any targets that match endianness requirement\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar6);" (call_expression "einfo(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) }) (else_clause "else {\n        output_target = winner->name;\n      }" else (compound_statement "{\n        output_target = winner->name;\n      }" { (expression_statement "output_target = winner->name;" (assignment_expression "output_target = winner->name" identifier = (field_expression "winner->name" identifier -> field_identifier)) ;) }))) }) (else_clause "else {\n      output_target = (char *)*puVar1;\n    }" else (compound_statement "{\n      output_target = (char *)*puVar1;\n    }" { (expression_statement "output_target = (char *)*puVar1;" (assignment_expression "output_target = (char *)*puVar1" identifier = (cast_expression "(char *)*puVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar1" * identifier))) ;) }))) })) (expression_statement "link_info.output_bfd = (bfd *)bfd_openw(pcVar7,output_target);" (assignment_expression "link_info.output_bfd = (bfd *)bfd_openw(pcVar7,output_target)" (field_expression "link_info.output_bfd" identifier . field_identifier) = (cast_expression "(bfd *)bfd_openw(pcVar7,output_target)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openw(pcVar7,output_target)" identifier (argument_list "(pcVar7,output_target)" ( identifier , identifier ))))) ;) (if_statement "if (link_info.output_bfd == (bfd *)0x0) {\n    iVar3 = bfd_get_error();\n    pcVar6 = output_target;\n    if (iVar3 == 2) {\n      fmt = (char *)dcgettext(0,"%F%P: target %s not found\n",5);\n      einfo(fmt,pcVar6);\n    }\n    pcVar6 = (char *)dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }" if (parenthesized_expression "(link_info.output_bfd == (bfd *)0x0)" ( (binary_expression "link_info.output_bfd == (bfd *)0x0" (field_expression "link_info.output_bfd" identifier . field_identifier) == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = bfd_get_error();\n    pcVar6 = output_target;\n    if (iVar3 == 2) {\n      fmt = (char *)dcgettext(0,"%F%P: target %s not found\n",5);\n      einfo(fmt,pcVar6);\n    }\n    pcVar6 = (char *)dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }" { (expression_statement "iVar3 = bfd_get_error();" (assignment_expression "iVar3 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar6 = output_target;" (assignment_expression "pcVar6 = output_target" identifier = identifier) ;) (if_statement "if (iVar3 == 2) {\n      fmt = (char *)dcgettext(0,"%F%P: target %s not found\n",5);\n      einfo(fmt,pcVar6);\n    }" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (compound_statement "{\n      fmt = (char *)dcgettext(0,"%F%P: target %s not found\n",5);\n      einfo(fmt,pcVar6);\n    }" { (expression_statement "fmt = (char *)dcgettext(0,"%F%P: target %s not found\n",5);" (assignment_expression "fmt = (char *)dcgettext(0,"%F%P: target %s not found\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: target %s not found\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: target %s not found\n",5)" identifier (argument_list "(0,"%F%P: target %s not found\n",5)" ( number_literal , (string_literal ""%F%P: target %s not found\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(fmt,pcVar6);" (call_expression "einfo(fmt,pcVar6)" identifier (argument_list "(fmt,pcVar6)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar6 = (char *)dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,"%F%P: cannot open output file %s: %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: cannot open output file %s: %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: cannot open output file %s: %E\n",5)" identifier (argument_list "(0,"%F%P: cannot open output file %s: %E\n",5)" ( number_literal , (string_literal ""%F%P: cannot open output file %s: %E\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar6,pcVar7);" (call_expression "einfo(pcVar6,pcVar7)" identifier (argument_list "(pcVar6,pcVar7)" ( identifier , identifier ))) ;) })) (expression_statement "delete_output_file_on_failure = 1;" (assignment_expression "delete_output_file_on_failure = 1" identifier = number_literal) ;) (expression_statement "iVar3 = bfd_set_format(link_info.output_bfd,1);" (assignment_expression "iVar3 = bfd_set_format(link_info.output_bfd,1)" identifier = (call_expression "bfd_set_format(link_info.output_bfd,1)" identifier (argument_list "(link_info.output_bfd,1)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }" { (expression_statement "pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not make object file: %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: %s: can not make object file: %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: %s: can not make object file: %E\n",5)" identifier (argument_list "(0,"%F%P: %s: can not make object file: %E\n",5)" ( number_literal , (string_literal ""%F%P: %s: can not make object file: %E\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar6,pcVar7);" (call_expression "einfo(pcVar6,pcVar7)" identifier (argument_list "(pcVar6,pcVar7)" ( identifier , identifier ))) ;) })) (expression_statement "bVar4 = (*(link_info.output_bfd)->xvec->_bfd_set_arch_mach)\n                    (link_info.output_bfd,ldfile_output_architecture,ldfile_output_machine);" (assignment_expression "bVar4 = (*(link_info.output_bfd)->xvec->_bfd_set_arch_mach)\n                    (link_info.output_bfd,ldfile_output_architecture,ldfile_output_machine)" identifier = (call_expression "(*(link_info.output_bfd)->xvec->_bfd_set_arch_mach)\n                    (link_info.output_bfd,ldfile_output_architecture,ldfile_output_machine)" (parenthesized_expression "(*(link_info.output_bfd)->xvec->_bfd_set_arch_mach)" ( (pointer_expression "*(link_info.output_bfd)->xvec->_bfd_set_arch_mach" * (field_expression "(link_info.output_bfd)->xvec->_bfd_set_arch_mach" (field_expression "(link_info.output_bfd)->xvec" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) -> field_identifier)) )) (argument_list "(link_info.output_bfd,ldfile_output_architecture,ldfile_output_machine)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) , identifier , identifier )))) ;) (if_statement "if (bVar4 == 0) {\n    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    einfo(pcVar6,pcVar7);\n  }" { (expression_statement "pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5)" identifier (argument_list "(0,"%F%P: %s: can not set architecture: %E\n",5)" ( number_literal , (string_literal ""%F%P: %s: can not set architecture: %E\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar6,pcVar7);" (call_expression "einfo(pcVar6,pcVar7)" identifier (argument_list "(pcVar6,pcVar7)" ( identifier , identifier ))) ;) })) (expression_statement "link_info.hash =\n       (*(link_info.output_bfd)->xvec->_bfd_link_hash_table_create)(link_info.output_bfd);" (assignment_expression "link_info.hash =\n       (*(link_info.output_bfd)->xvec->_bfd_link_hash_table_create)(link_info.output_bfd)" (field_expression "link_info.hash" identifier . field_identifier) = (call_expression "(*(link_info.output_bfd)->xvec->_bfd_link_hash_table_create)(link_info.output_bfd)" (parenthesized_expression "(*(link_info.output_bfd)->xvec->_bfd_link_hash_table_create)" ( (pointer_expression "*(link_info.output_bfd)->xvec->_bfd_link_hash_table_create" * (field_expression "(link_info.output_bfd)->xvec->_bfd_link_hash_table_create" (field_expression "(link_info.output_bfd)->xvec" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) -> field_identifier)) )) (argument_list "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )))) ;) (if_statement "if (link_info.hash == (bfd_link_hash_table *)0x0) {\n    pcVar7 = (char *)dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    einfo(pcVar7);\n  }" if (parenthesized_expression "(link_info.hash == (bfd_link_hash_table *)0x0)" ( (binary_expression "link_info.hash == (bfd_link_hash_table *)0x0" (field_expression "link_info.hash" identifier . field_identifier) == (cast_expression "(bfd_link_hash_table *)0x0" ( (type_descriptor "bfd_link_hash_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar7 = (char *)dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    einfo(pcVar7);\n  }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"%F%P: can not create hash table: %E\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"%F%P: can not create hash table: %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: can not create hash table: %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: can not create hash table: %E\n",5)" identifier (argument_list "(0,"%F%P: can not create hash table: %E\n",5)" ( number_literal , (string_literal ""%F%P: can not create hash table: %E\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar7);" (call_expression "einfo(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) })) (expression_statement "bfd_set_gp_size(link_info.output_bfd,g_switch_value);" (call_expression "bfd_set_gp_size(link_info.output_bfd,g_switch_value)" identifier (argument_list "(link_info.output_bfd,g_switch_value)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) , identifier ))) ;) (expression_statement "ldemul_set_output_arch();" (call_expression "ldemul_set_output_arch()" identifier (argument_list "()" ( ))) ;) (expression_statement "pbVar2 = link_info.output_bfd;" (assignment_expression "pbVar2 = link_info.output_bfd" identifier = (field_expression "link_info.output_bfd" identifier . field_identifier)) ;) (if_statement "if (config.magic_demand_paged == 0) {\n    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;\n  }\n  else {\n    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;\n    if ((link_info._0_1_ & 3) != 2) {\n      uVar8 = uVar8 | 0x100;\n      uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;\n      *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;\n      goto joined_r0x0002446d;\n    }\n  }" if (parenthesized_expression "(config.magic_demand_paged == 0)" ( (binary_expression "config.magic_demand_paged == 0" (field_expression "config.magic_demand_paged" identifier . field_identifier) == number_literal) )) (compound_statement "{\n    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;\n  }" { (expression_statement "uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;" (assignment_expression "uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff" identifier = (binary_expression "*(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff" (binary_expression "*(uint *)&(link_info.output_bfd)->field_0x28 >> 5" (pointer_expression "*(uint *)&(link_info.output_bfd)->field_0x28" * (cast_expression "(uint *)&(link_info.output_bfd)->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(link_info.output_bfd)->field_0x28" & (field_expression "(link_info.output_bfd)->field_0x28" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier)))) >> number_literal) & number_literal)) ;) }) (else_clause "else {\n    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;\n    if ((link_info._0_1_ & 3) != 2) {\n      uVar8 = uVar8 | 0x100;\n      uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;\n      *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;\n      goto joined_r0x0002446d;\n    }\n  }" else (compound_statement "{\n    uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;\n    if ((link_info._0_1_ & 3) != 2) {\n      uVar8 = uVar8 | 0x100;\n      uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;\n      *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;\n      goto joined_r0x0002446d;\n    }\n  }" { (expression_statement "uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;" (assignment_expression "uVar8 = *(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff" identifier = (binary_expression "*(uint *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff" (binary_expression "*(uint *)&(link_info.output_bfd)->field_0x28 >> 5" (pointer_expression "*(uint *)&(link_info.output_bfd)->field_0x28" * (cast_expression "(uint *)&(link_info.output_bfd)->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(link_info.output_bfd)->field_0x28" & (field_expression "(link_info.output_bfd)->field_0x28" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier)))) >> number_literal) & number_literal)) ;) (if_statement "if ((link_info._0_1_ & 3) != 2) {\n      uVar8 = uVar8 | 0x100;\n      uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;\n      *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;\n      goto joined_r0x0002446d;\n    }" if (parenthesized_expression "((link_info._0_1_ & 3) != 2)" ( (binary_expression "(link_info._0_1_ & 3) != 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar8 = uVar8 | 0x100;\n      uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;\n      *(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;\n      goto joined_r0x0002446d;\n    }" { (expression_statement "uVar8 = uVar8 | 0x100;" (assignment_expression "uVar8 = uVar8 | 0x100" identifier = (binary_expression "uVar8 | 0x100" identifier | number_literal)) ;) (expression_statement "uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;" (assignment_expression "uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5" identifier = (binary_expression "*(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5" (binary_expression "*(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f" (pointer_expression "*(uint *)&(link_info.output_bfd)->field_0x28" * (cast_expression "(uint *)&(link_info.output_bfd)->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(link_info.output_bfd)->field_0x28" & (field_expression "(link_info.output_bfd)->field_0x28" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier)))) & number_literal) | (binary_expression "uVar8 << 5" identifier << number_literal))) ;) (expression_statement "*(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;" (assignment_expression "*(uint *)&(link_info.output_bfd)->field_0x28 = uVar5" (pointer_expression "*(uint *)&(link_info.output_bfd)->field_0x28" * (cast_expression "(uint *)&(link_info.output_bfd)->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(link_info.output_bfd)->field_0x28" & (field_expression "(link_info.output_bfd)->field_0x28" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (goto_statement "goto joined_r0x0002446d;" goto statement_identifier ;) })) }))) (expression_statement "uVar8 = uVar8 & 0xffeff;" (assignment_expression "uVar8 = uVar8 & 0xffeff" identifier = (binary_expression "uVar8 & 0xffeff" identifier & number_literal)) ;) (expression_statement "uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5;" (assignment_expression "uVar5 = *(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5" identifier = (binary_expression "*(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | uVar8 << 5" (binary_expression "*(uint *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f" (pointer_expression "*(uint *)&(link_info.output_bfd)->field_0x28" * (cast_expression "(uint *)&(link_info.output_bfd)->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(link_info.output_bfd)->field_0x28" & (field_expression "(link_info.output_bfd)->field_0x28" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier)))) & number_literal) | (binary_expression "uVar8 << 5" identifier << number_literal))) ;) (expression_statement "*(uint *)&(link_info.output_bfd)->field_0x28 = uVar5;" (assignment_expression "*(uint *)&(link_info.output_bfd)->field_0x28 = uVar5" (pointer_expression "*(uint *)&(link_info.output_bfd)->field_0x28" * (cast_expression "(uint *)&(link_info.output_bfd)->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(link_info.output_bfd)->field_0x28" & (field_expression "(link_info.output_bfd)->field_0x28" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (labeled_statement "joined_r0x0002446d:\n  if (config.text_read_only == 0) {\n    uVar8 = uVar8 & 0xfff7f;\n  }\n  else {\n    uVar8 = uVar8 | 0x80;\n  }" statement_identifier : (if_statement "if (config.text_read_only == 0) {\n    uVar8 = uVar8 & 0xfff7f;\n  }\n  else {\n    uVar8 = uVar8 | 0x80;\n  }" if (parenthesized_expression "(config.text_read_only == 0)" ( (binary_expression "config.text_read_only == 0" (field_expression "config.text_read_only" identifier . field_identifier) == number_literal) )) (compound_statement "{\n    uVar8 = uVar8 & 0xfff7f;\n  }" { (expression_statement "uVar8 = uVar8 & 0xfff7f;" (assignment_expression "uVar8 = uVar8 & 0xfff7f" identifier = (binary_expression "uVar8 & 0xfff7f" identifier & number_literal)) ;) }) (else_clause "else {\n    uVar8 = uVar8 | 0x80;\n  }" else (compound_statement "{\n    uVar8 = uVar8 | 0x80;\n  }" { (expression_statement "uVar8 = uVar8 | 0x80;" (assignment_expression "uVar8 = uVar8 | 0x80" identifier = (binary_expression "uVar8 | 0x80" identifier | number_literal)) ;) })))) (expression_statement "uVar5 = uVar5 & 0xfe00001f;" (assignment_expression "uVar5 = uVar5 & 0xfe00001f" identifier = (binary_expression "uVar5 & 0xfe00001f" identifier & number_literal)) ;) (expression_statement "*(uint *)&pbVar2->field_0x28 = uVar5 | uVar8 << 5;" (assignment_expression "*(uint *)&pbVar2->field_0x28 = uVar5 | uVar8 << 5" (pointer_expression "*(uint *)&pbVar2->field_0x28" * (cast_expression "(uint *)&pbVar2->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar2->field_0x28" & (field_expression "pbVar2->field_0x28" identifier -> field_identifier)))) = (binary_expression "uVar5 | uVar8 << 5" identifier | (binary_expression "uVar8 << 5" identifier << number_literal))) ;) (if_statement "if ((link_info._4_1_ & 0x20) == 0) {\n    *(uint *)&pbVar2->field_0x28 = uVar5 | (uVar8 & 0xffbff) << 5;\n    return;\n  }" if (parenthesized_expression "((link_info._4_1_ & 0x20) == 0)" ( (binary_expression "(link_info._4_1_ & 0x20) == 0" (parenthesized_expression "(link_info._4_1_ & 0x20)" ( (binary_expression "link_info._4_1_ & 0x20" (field_expression "link_info._4_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    *(uint *)&pbVar2->field_0x28 = uVar5 | (uVar8 & 0xffbff) << 5;\n    return;\n  }" { (expression_statement "*(uint *)&pbVar2->field_0x28 = uVar5 | (uVar8 & 0xffbff) << 5;" (assignment_expression "*(uint *)&pbVar2->field_0x28 = uVar5 | (uVar8 & 0xffbff) << 5" (pointer_expression "*(uint *)&pbVar2->field_0x28" * (cast_expression "(uint *)&pbVar2->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar2->field_0x28" & (field_expression "pbVar2->field_0x28" identifier -> field_identifier)))) = (binary_expression "uVar5 | (uVar8 & 0xffbff) << 5" identifier | (binary_expression "(uVar8 & 0xffbff) << 5" (parenthesized_expression "(uVar8 & 0xffbff)" ( (binary_expression "uVar8 & 0xffbff" identifier & number_literal) )) << number_literal))) ;) (return_statement "return;" return ;) })) (expression_statement "*(uint *)&pbVar2->field_0x28 = (uVar8 | 0x400) << 5 | uVar5;" (assignment_expression "*(uint *)&pbVar2->field_0x28 = (uVar8 | 0x400) << 5 | uVar5" (pointer_expression "*(uint *)&pbVar2->field_0x28" * (cast_expression "(uint *)&pbVar2->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar2->field_0x28" & (field_expression "pbVar2->field_0x28" identifier -> field_identifier)))) = (binary_expression "(uVar8 | 0x400) << 5 | uVar5" (binary_expression "(uVar8 | 0x400) << 5" (parenthesized_expression "(uVar8 | 0x400)" ( (binary_expression "uVar8 | 0x400" identifier | number_literal) )) << number_literal) | identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00024290(int param_1)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  \n  if (*(int *)(param_1 + 4) == 10) {\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }\n  if (*(int *)(param_1 + 4) != 0xb) {\n    return;\n  }\n  if (DAT_00094e30 != 0) {\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }\n  uVar5 = *(undefined4 *)(param_1 + 8);\n  DAT_00094dbc = FUN_000241e0();\n  if (((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }\n  DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);\n  if (DAT_00094e30 == 0) {\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_000948c4 = 1;\n  iVar2 = bfd_set_format(DAT_00094e30,1);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);\n  if (DAT_00094e1c == 0) {\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }\n  bfd_set_gp_size(DAT_00094e30,DAT_00094348);\n  FUN_0002ff80();\n  iVar2 = DAT_00094e30;\n  if (DAT_00094f00 == 0) {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }\n  else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }\n  uVar7 = uVar7 & 0xffeff;\n  uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n  *(uint *)(DAT_00094e30 + 0x28) = uVar3;\njoined_r0x0002446d:\n  if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }\n  uVar3 = uVar3 & 0xfe00001f;\n  *(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;\n  if ((DAT_00094e04 & 0x20) == 0) {\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }\n  *(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;\n  return;\n}\n\n" (function_definition "void FUN_00024290(int param_1)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  \n  if (*(int *)(param_1 + 4) == 10) {\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }\n  if (*(int *)(param_1 + 4) != 0xb) {\n    return;\n  }\n  if (DAT_00094e30 != 0) {\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }\n  uVar5 = *(undefined4 *)(param_1 + 8);\n  DAT_00094dbc = FUN_000241e0();\n  if (((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }\n  DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);\n  if (DAT_00094e30 == 0) {\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_000948c4 = 1;\n  iVar2 = bfd_set_format(DAT_00094e30,1);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);\n  if (DAT_00094e1c == 0) {\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }\n  bfd_set_gp_size(DAT_00094e30,DAT_00094348);\n  FUN_0002ff80();\n  iVar2 = DAT_00094e30;\n  if (DAT_00094f00 == 0) {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }\n  else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }\n  uVar7 = uVar7 & 0xffeff;\n  uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n  *(uint *)(DAT_00094e30 + 0x28) = uVar3;\njoined_r0x0002446d:\n  if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }\n  uVar3 = uVar3 & 0xfe00001f;\n  *(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;\n  if ((DAT_00094e04 & 0x20) == 0) {\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }\n  *(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;\n  return;\n}" primitive_type (function_declarator "FUN_00024290(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  \n  if (*(int *)(param_1 + 4) == 10) {\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }\n  if (*(int *)(param_1 + 4) != 0xb) {\n    return;\n  }\n  if (DAT_00094e30 != 0) {\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }\n  uVar5 = *(undefined4 *)(param_1 + 8);\n  DAT_00094dbc = FUN_000241e0();\n  if (((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }\n  DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);\n  if (DAT_00094e30 == 0) {\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_000948c4 = 1;\n  iVar2 = bfd_set_format(DAT_00094e30,1);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);\n  if (DAT_00094e1c == 0) {\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }\n  bfd_set_gp_size(DAT_00094e30,DAT_00094348);\n  FUN_0002ff80();\n  iVar2 = DAT_00094e30;\n  if (DAT_00094f00 == 0) {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }\n  else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }\n  uVar7 = uVar7 & 0xffeff;\n  uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n  *(uint *)(DAT_00094e30 + 0x28) = uVar3;\njoined_r0x0002446d:\n  if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }\n  uVar3 = uVar3 & 0xfe00001f;\n  *(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;\n  if ((DAT_00094e04 & 0x20) == 0) {\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }\n  *(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (if_statement "if (*(int *)(param_1 + 4) == 10) {\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 10)" ( (binary_expression "*(int *)(param_1 + 4) == 10" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }" { (expression_statement "DAT_00094990 = *(undefined4 *)(param_1 + 8);" (assignment_expression "DAT_00094990 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(param_1 + 4) != 0xb) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 4) != 0xb)" ( (binary_expression "*(int *)(param_1 + 4) != 0xb" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_00094e30 != 0) {\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }" if (parenthesized_expression "(DAT_00094e30 != 0)" ( (binary_expression "DAT_00094e30 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }" { (expression_statement "FUN_00031740("../../ld/ldlang.c",0xc7e);" (call_expression "FUN_00031740("../../ld/ldlang.c",0xc7e)" identifier (argument_list "("../../ld/ldlang.c",0xc7e)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "uVar5 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar5 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "DAT_00094dbc = FUN_000241e0();" (assignment_expression "DAT_00094dbc = FUN_000241e0()" identifier = (call_expression "FUN_000241e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }" if (parenthesized_expression "(((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1)))" ( (binary_expression "((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))" (parenthesized_expression "((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0))" ( (binary_expression "(DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)" (parenthesized_expression "(DAT_00094ed0 != 0)" ( (binary_expression "DAT_00094ed0 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)" ( (comma_expression "iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0" (assignment_expression "iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc)" identifier = (call_expression "bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc)" identifier (argument_list "(FUN_0001df70,DAT_00094dbc)" ( identifier , identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))" ( (binary_expression "*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1)" (pointer_expression "*(uint *)(iVar2 + 8)" * (cast_expression "(uint *)(iVar2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) != (call_expression "(uint)(DAT_00094ed0 != 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00094ed0 != 1)" ( (binary_expression "DAT_00094ed0 != 1" identifier != number_literal) )))) ))) )) (compound_statement "{\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }" { (expression_statement "puVar1 = *(undefined4 **)(iVar2 + 0x1bc);" (assignment_expression "puVar1 = *(undefined4 **)(iVar2 + 0x1bc)" identifier = (pointer_expression "*(undefined4 **)(iVar2 + 0x1bc)" * (cast_expression "(undefined4 **)(iVar2 + 0x1bc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x1bc)" ( (binary_expression "iVar2 + 0x1bc" identifier + number_literal) ))))) ;) (if_statement "if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }" if (parenthesized_expression "((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1)))" ( (binary_expression "(puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))" (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar1[2] != (uint)(DAT_00094ed0 != 1))" ( (binary_expression "puVar1[2] != (uint)(DAT_00094ed0 != 1)" (subscript_expression "puVar1[2]" identifier [ number_literal ]) != (call_expression "(uint)(DAT_00094ed0 != 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00094ed0 != 1)" ( (binary_expression "DAT_00094ed0 != 1" identifier != number_literal) )))) ))) )) (compound_statement "{\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }" { (expression_statement "bfd_iterate_over_targets(FUN_00020190,iVar2);" (call_expression "bfd_iterate_over_targets(FUN_00020190,iVar2)" identifier (argument_list "(FUN_00020190,iVar2)" ( identifier , identifier ))) ;) (if_statement "if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }" if (parenthesized_expression "(DAT_00094924 == (undefined4 *)0x0)" ( (binary_expression "DAT_00094924 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }" { (expression_statement "uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);" (assignment_expression "uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5)" identifier = (call_expression "dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5)" identifier (argument_list "(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5)" ( number_literal , (string_literal ""%P: warning: could not find any targets that match endianness requirement\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar4);" (call_expression "FUN_000316f0(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) }) (else_clause "else {\n        DAT_00094dbc = *DAT_00094924;\n      }" else (compound_statement "{\n        DAT_00094dbc = *DAT_00094924;\n      }" { (expression_statement "DAT_00094dbc = *DAT_00094924;" (assignment_expression "DAT_00094dbc = *DAT_00094924" identifier = (pointer_expression "*DAT_00094924" * identifier)) ;) }))) }) (else_clause "else {\n      DAT_00094dbc = *puVar1;\n    }" else (compound_statement "{\n      DAT_00094dbc = *puVar1;\n    }" { (expression_statement "DAT_00094dbc = *puVar1;" (assignment_expression "DAT_00094dbc = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) }))) })) (expression_statement "DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);" (assignment_expression "DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc)" identifier = (call_expression "bfd_openw(uVar5,DAT_00094dbc)" identifier (argument_list "(uVar5,DAT_00094dbc)" ( identifier , identifier )))) ;) (if_statement "if (DAT_00094e30 == 0) {\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" if (parenthesized_expression "(DAT_00094e30 == 0)" ( (binary_expression "DAT_00094e30 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" { (expression_statement "iVar2 = bfd_get_error();" (assignment_expression "iVar2 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar4 = DAT_00094dbc;" (assignment_expression "uVar4 = DAT_00094dbc" identifier = identifier) ;) (if_statement "if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }" { (expression_statement "uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);" (assignment_expression "uVar6 = dcgettext(0,"%F%P: target %s not found\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: target %s not found\n",5)" identifier (argument_list "(0,"%F%P: target %s not found\n",5)" ( number_literal , (string_literal ""%F%P: target %s not found\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar6,uVar4);" (call_expression "FUN_000316f0(uVar6,uVar4)" identifier (argument_list "(uVar6,uVar4)" ( identifier , identifier ))) ;) })) (expression_statement "uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: cannot open output file %s: %E\n",5)" identifier (argument_list "(0,"%F%P: cannot open output file %s: %E\n",5)" ( number_literal , (string_literal ""%F%P: cannot open output file %s: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar4,uVar5);" (call_expression "FUN_000316f0(uVar4,uVar5)" identifier (argument_list "(uVar4,uVar5)" ( identifier , identifier ))) ;) })) (expression_statement "DAT_000948c4 = 1;" (assignment_expression "DAT_000948c4 = 1" identifier = number_literal) ;) (expression_statement "iVar2 = bfd_set_format(DAT_00094e30,1);" (assignment_expression "iVar2 = bfd_set_format(DAT_00094e30,1)" identifier = (call_expression "bfd_set_format(DAT_00094e30,1)" identifier (argument_list "(DAT_00094e30,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" { (expression_statement "uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: %s: can not make object file: %E\n",5)" identifier (argument_list "(0,"%F%P: %s: can not make object file: %E\n",5)" ( number_literal , (string_literal ""%F%P: %s: can not make object file: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar4,uVar5);" (call_expression "FUN_000316f0(uVar4,uVar5)" identifier (argument_list "(uVar4,uVar5)" ( identifier , identifier ))) ;) })) (expression_statement "iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);" (assignment_expression "iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0)" identifier = (call_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))" ( (pointer_expression "**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154)" * (pointer_expression "*(code **)(*(int *)(DAT_00094e30 + 4) + 0x154)" * (cast_expression "(code **)(*(int *)(DAT_00094e30 + 4) + 0x154)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00094e30 + 4) + 0x154)" ( (binary_expression "*(int *)(DAT_00094e30 + 4) + 0x154" (pointer_expression "*(int *)(DAT_00094e30 + 4)" * (cast_expression "(int *)(DAT_00094e30 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 4)" ( (binary_expression "DAT_00094e30 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(DAT_00094e30,DAT_00094fdc,DAT_00094fe0)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" { (expression_statement "uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5)" identifier (argument_list "(0,"%F%P: %s: can not set architecture: %E\n",5)" ( number_literal , (string_literal ""%F%P: %s: can not set architecture: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar4,uVar5);" (call_expression "FUN_000316f0(uVar4,uVar5)" identifier (argument_list "(uVar4,uVar5)" ( identifier , identifier ))) ;) })) (expression_statement "DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);" (assignment_expression "DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30)" identifier = (call_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))" ( (pointer_expression "**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168)" * (pointer_expression "*(code **)(*(int *)(DAT_00094e30 + 4) + 0x168)" * (cast_expression "(code **)(*(int *)(DAT_00094e30 + 4) + 0x168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00094e30 + 4) + 0x168)" ( (binary_expression "*(int *)(DAT_00094e30 + 4) + 0x168" (pointer_expression "*(int *)(DAT_00094e30 + 4)" * (cast_expression "(int *)(DAT_00094e30 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 4)" ( (binary_expression "DAT_00094e30 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(DAT_00094e30)" ( identifier )))) ;) (if_statement "if (DAT_00094e1c == 0) {\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }" if (parenthesized_expression "(DAT_00094e1c == 0)" ( (binary_expression "DAT_00094e1c == 0" identifier == number_literal) )) (compound_statement "{\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }" { (expression_statement "uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);" (assignment_expression "uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: can not create hash table: %E\n",5)" identifier (argument_list "(0,"%F%P: can not create hash table: %E\n",5)" ( number_literal , (string_literal ""%F%P: can not create hash table: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_000316f0(uVar5);" (call_expression "FUN_000316f0(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) })) (expression_statement "bfd_set_gp_size(DAT_00094e30,DAT_00094348);" (call_expression "bfd_set_gp_size(DAT_00094e30,DAT_00094348)" identifier (argument_list "(DAT_00094e30,DAT_00094348)" ( identifier , identifier ))) ;) (expression_statement "FUN_0002ff80();" (call_expression "FUN_0002ff80()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar2 = DAT_00094e30;" (assignment_expression "iVar2 = DAT_00094e30" identifier = identifier) ;) (if_statement "if (DAT_00094f00 == 0) {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }\n  else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }" if (parenthesized_expression "(DAT_00094f00 == 0)" ( (binary_expression "DAT_00094f00 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }" { (expression_statement "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;" (assignment_expression "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" identifier = (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) >> number_literal) & number_literal)) ;) }) (else_clause "else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }" else (compound_statement "{\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }" { (expression_statement "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;" (assignment_expression "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" identifier = (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) >> number_literal) & number_literal)) ;) (if_statement "if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }" if (parenthesized_expression "((DAT_00094e00 & 3) != 2)" ( (binary_expression "(DAT_00094e00 & 3) != 2" (parenthesized_expression "(DAT_00094e00 & 3)" ( (binary_expression "DAT_00094e00 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }" { (expression_statement "uVar7 = uVar7 | 0x100;" (assignment_expression "uVar7 = uVar7 | 0x100" identifier = (binary_expression "uVar7 | 0x100" identifier | number_literal)) ;) (expression_statement "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;" (assignment_expression "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" identifier = (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) & number_literal) | (binary_expression "uVar7 << 5" identifier << number_literal))) ;) (expression_statement "*(uint *)(DAT_00094e30 + 0x28) = uVar3;" (assignment_expression "*(uint *)(DAT_00094e30 + 0x28) = uVar3" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto joined_r0x0002446d;" goto statement_identifier ;) })) }))) (expression_statement "uVar7 = uVar7 & 0xffeff;" (assignment_expression "uVar7 = uVar7 & 0xffeff" identifier = (binary_expression "uVar7 & 0xffeff" identifier & number_literal)) ;) (expression_statement "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;" (assignment_expression "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" identifier = (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) & number_literal) | (binary_expression "uVar7 << 5" identifier << number_literal))) ;) (expression_statement "*(uint *)(DAT_00094e30 + 0x28) = uVar3;" (assignment_expression "*(uint *)(DAT_00094e30 + 0x28) = uVar3" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" * (cast_expression "(uint *)(DAT_00094e30 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00094e30 + 0x28)" ( (binary_expression "DAT_00094e30 + 0x28" identifier + number_literal) )))) = identifier) ;) (labeled_statement "joined_r0x0002446d:\n  if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }" statement_identifier : (if_statement "if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }" if (parenthesized_expression "(DAT_00094f30 == 0)" ( (binary_expression "DAT_00094f30 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar7 = uVar7 & 0xfff7f;\n  }" { (expression_statement "uVar7 = uVar7 & 0xfff7f;" (assignment_expression "uVar7 = uVar7 & 0xfff7f" identifier = (binary_expression "uVar7 & 0xfff7f" identifier & number_literal)) ;) }) (else_clause "else {\n    uVar7 = uVar7 | 0x80;\n  }" else (compound_statement "{\n    uVar7 = uVar7 | 0x80;\n  }" { (expression_statement "uVar7 = uVar7 | 0x80;" (assignment_expression "uVar7 = uVar7 | 0x80" identifier = (binary_expression "uVar7 | 0x80" identifier | number_literal)) ;) })))) (expression_statement "uVar3 = uVar3 & 0xfe00001f;" (assignment_expression "uVar3 = uVar3 & 0xfe00001f" identifier = (binary_expression "uVar3 & 0xfe00001f" identifier & number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;" (assignment_expression "*(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar3 | uVar7 << 5" identifier | (binary_expression "uVar7 << 5" identifier << number_literal))) ;) (if_statement "if ((DAT_00094e04 & 0x20) == 0) {\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }" if (parenthesized_expression "((DAT_00094e04 & 0x20) == 0)" ( (binary_expression "(DAT_00094e04 & 0x20) == 0" (parenthesized_expression "(DAT_00094e04 & 0x20)" ( (binary_expression "DAT_00094e04 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }" { (expression_statement "*(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;" (assignment_expression "*(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar3 | (uVar7 & 0xffbff) << 5" identifier | (binary_expression "(uVar7 & 0xffbff) << 5" (parenthesized_expression "(uVar7 & 0xffbff)" ( (binary_expression "uVar7 & 0xffbff" identifier & number_literal) )) << number_literal))) ;) (return_statement "return;" return ;) })) (expression_statement "*(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;" (assignment_expression "*(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) = (binary_expression "(uVar7 | 0x400) << 5 | uVar3" (binary_expression "(uVar7 | 0x400) << 5" (parenthesized_expression "(uVar7 | 0x400)" ( (binary_expression "uVar7 | 0x400" identifier | number_literal) )) << number_literal) | identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (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 = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT))) ;) (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | LIT) )) << LIT) | IDENT)) ;) (return_statement return ;) })))
(function_definition "void FUN_00024290(int param_1)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  \n  if (*(int *)(param_1 + 4) == 10) {\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }\n  if (*(int *)(param_1 + 4) != 0xb) {\n    return;\n  }\n  if (DAT_00094e30 != 0) {\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }\n  uVar5 = *(undefined4 *)(param_1 + 8);\n  DAT_00094dbc = FUN_000241e0();\n  if (((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }\n  DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);\n  if (DAT_00094e30 == 0) {\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_000948c4 = 1;\n  iVar2 = bfd_set_format(DAT_00094e30,1);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);\n  if (DAT_00094e1c == 0) {\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }\n  bfd_set_gp_size(DAT_00094e30,DAT_00094348);\n  FUN_0002ff80();\n  iVar2 = DAT_00094e30;\n  if (DAT_00094f00 == 0) {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }\n  else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }\n  uVar7 = uVar7 & 0xffeff;\n  uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n  *(uint *)(DAT_00094e30 + 0x28) = uVar3;\njoined_r0x0002446d:\n  if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }\n  uVar3 = uVar3 & 0xfe00001f;\n  *(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;\n  if ((DAT_00094e04 & 0x20) == 0) {\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }\n  *(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00024290(int param_1)" (identifier "FUN_00024290") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  \n  if (*(int *)(param_1 + 4) == 10) {\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }\n  if (*(int *)(param_1 + 4) != 0xb) {\n    return;\n  }\n  if (DAT_00094e30 != 0) {\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }\n  uVar5 = *(undefined4 *)(param_1 + 8);\n  DAT_00094dbc = FUN_000241e0();\n  if (((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }\n  DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);\n  if (DAT_00094e30 == 0) {\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_000948c4 = 1;\n  iVar2 = bfd_set_format(DAT_00094e30,1);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);\n  if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }\n  DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);\n  if (DAT_00094e1c == 0) {\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }\n  bfd_set_gp_size(DAT_00094e30,DAT_00094348);\n  FUN_0002ff80();\n  iVar2 = DAT_00094e30;\n  if (DAT_00094f00 == 0) {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }\n  else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }\n  uVar7 = uVar7 & 0xffeff;\n  uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n  *(uint *)(DAT_00094e30 + 0x28) = uVar3;\njoined_r0x0002446d:\n  if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }\n  uVar3 = uVar3 & 0xfe00001f;\n  *(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;\n  if ((DAT_00094e04 & 0x20) == 0) {\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }\n  *(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;\n  return;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (if_statement "if (*(int *)(param_1 + 4) == 10) {\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 4) == 10)" (( "(") (binary_expression "*(int *)(param_1 + 4) == 10" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "10")) () ")")) (compound_statement "{\n    DAT_00094990 = *(undefined4 *)(param_1 + 8);\n    return;\n  }" ({ "{") (expression_statement "DAT_00094990 = *(undefined4 *)(param_1 + 8);" (assignment_expression "DAT_00094990 = *(undefined4 *)(param_1 + 8)" (identifier "DAT_00094990") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 4) != 0xb) {\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 4) != 0xb)" (( "(") (binary_expression "*(int *)(param_1 + 4) != 0xb" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0xb")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (DAT_00094e30 != 0) {\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }" (if "if") (parenthesized_expression "(DAT_00094e30 != 0)" (( "(") (binary_expression "DAT_00094e30 != 0" (identifier "DAT_00094e30") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00031740("../../ld/ldlang.c",0xc7e);\n  }" ({ "{") (expression_statement "FUN_00031740("../../ld/ldlang.c",0xc7e);" (call_expression "FUN_00031740("../../ld/ldlang.c",0xc7e)" (identifier "FUN_00031740") (argument_list "("../../ld/ldlang.c",0xc7e)" (( "(") (string_literal ""../../ld/ldlang.c"" (" """) (string_content "../../ld/ldlang.c") (" """)) (, ",") (number_literal "0xc7e") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar5 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar5 = *(undefined4 *)(param_1 + 8)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "DAT_00094dbc = FUN_000241e0();" (assignment_expression "DAT_00094dbc = FUN_000241e0()" (identifier "DAT_00094dbc") (= "=") (call_expression "FUN_000241e0()" (identifier "FUN_000241e0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }" (if "if") (parenthesized_expression "(((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1)))" (( "(") (binary_expression "((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&\n     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))" (parenthesized_expression "((DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0))" (( "(") (binary_expression "(DAT_00094ed0 != 0) &&\n      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)" (parenthesized_expression "(DAT_00094ed0 != 0)" (( "(") (binary_expression "DAT_00094ed0 != 0" (identifier "DAT_00094ed0") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)" (( "(") (comma_expression "iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0" (assignment_expression "iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc)" (identifier "iVar2") (= "=") (call_expression "bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc)" (identifier "bfd_iterate_over_targets") (argument_list "(FUN_0001df70,DAT_00094dbc)" (( "(") (identifier "FUN_0001df70") (, ",") (identifier "DAT_00094dbc") () ")")))) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))" (( "(") (binary_expression "*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1)" (pointer_expression "*(uint *)(iVar2 + 8)" (* "*") (cast_expression "(uint *)(iVar2 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (call_expression "(uint)(DAT_00094ed0 != 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_00094ed0 != 1)" (( "(") (binary_expression "DAT_00094ed0 != 1" (identifier "DAT_00094ed0") (!= "!=") (number_literal "1")) () ")")))) () ")"))) () ")")) (compound_statement "{\n    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);\n    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }\n  }" ({ "{") (expression_statement "puVar1 = *(undefined4 **)(iVar2 + 0x1bc);" (assignment_expression "puVar1 = *(undefined4 **)(iVar2 + 0x1bc)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined4 **)(iVar2 + 0x1bc)" (* "*") (cast_expression "(undefined4 **)(iVar2 + 0x1bc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x1bc)" (( "(") (binary_expression "iVar2 + 0x1bc" (identifier "iVar2") (+ "+") (number_literal "0x1bc")) () ")"))))) (; ";")) (if_statement "if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }\n    else {\n      DAT_00094dbc = *puVar1;\n    }" (if "if") (parenthesized_expression "((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1)))" (( "(") (binary_expression "(puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))" (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar1 == (undefined4 *)0x0" (identifier "puVar1") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(puVar1[2] != (uint)(DAT_00094ed0 != 1))" (( "(") (binary_expression "puVar1[2] != (uint)(DAT_00094ed0 != 1)" (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]")) (!= "!=") (call_expression "(uint)(DAT_00094ed0 != 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_00094ed0 != 1)" (( "(") (binary_expression "DAT_00094ed0 != 1" (identifier "DAT_00094ed0") (!= "!=") (number_literal "1")) () ")")))) () ")"))) () ")")) (compound_statement "{\n      bfd_iterate_over_targets(FUN_00020190,iVar2);\n      if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }\n    }" ({ "{") (expression_statement "bfd_iterate_over_targets(FUN_00020190,iVar2);" (call_expression "bfd_iterate_over_targets(FUN_00020190,iVar2)" (identifier "bfd_iterate_over_targets") (argument_list "(FUN_00020190,iVar2)" (( "(") (identifier "FUN_00020190") (, ",") (identifier "iVar2") () ")"))) (; ";")) (if_statement "if (DAT_00094924 == (undefined4 *)0x0) {\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }\n      else {\n        DAT_00094dbc = *DAT_00094924;\n      }" (if "if") (parenthesized_expression "(DAT_00094924 == (undefined4 *)0x0)" (( "(") (binary_expression "DAT_00094924 == (undefined4 *)0x0" (identifier "DAT_00094924") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);\n        FUN_000316f0(uVar4);\n      }" ({ "{") (expression_statement "uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5);" (assignment_expression "uVar4 = dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5)" (identifier "dcgettext") (argument_list "(0,\n                          "%P: warning: could not find any targets that match endianness requirement\n"\n                          ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""%P: warning: could not find any targets that match endianness requirement\n"" (" """) (string_content "%P: warning: could not find any targets that match endianness requirement") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_000316f0(uVar4);" (call_expression "FUN_000316f0(uVar4)" (identifier "FUN_000316f0") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        DAT_00094dbc = *DAT_00094924;\n      }" (else "else") (compound_statement "{\n        DAT_00094dbc = *DAT_00094924;\n      }" ({ "{") (expression_statement "DAT_00094dbc = *DAT_00094924;" (assignment_expression "DAT_00094dbc = *DAT_00094924" (identifier "DAT_00094dbc") (= "=") (pointer_expression "*DAT_00094924" (* "*") (identifier "DAT_00094924"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      DAT_00094dbc = *puVar1;\n    }" (else "else") (compound_statement "{\n      DAT_00094dbc = *puVar1;\n    }" ({ "{") (expression_statement "DAT_00094dbc = *puVar1;" (assignment_expression "DAT_00094dbc = *puVar1" (identifier "DAT_00094dbc") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);" (assignment_expression "DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc)" (identifier "DAT_00094e30") (= "=") (call_expression "bfd_openw(uVar5,DAT_00094dbc)" (identifier "bfd_openw") (argument_list "(uVar5,DAT_00094dbc)" (( "(") (identifier "uVar5") (, ",") (identifier "DAT_00094dbc") () ")")))) (; ";")) (if_statement "if (DAT_00094e30 == 0) {\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" (if "if") (parenthesized_expression "(DAT_00094e30 == 0)" (( "(") (binary_expression "DAT_00094e30 == 0" (identifier "DAT_00094e30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar2 = bfd_get_error();\n    uVar4 = DAT_00094dbc;\n    if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }\n    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" ({ "{") (expression_statement "iVar2 = bfd_get_error();" (assignment_expression "iVar2 = bfd_get_error()" (identifier "iVar2") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar4 = DAT_00094dbc;" (assignment_expression "uVar4 = DAT_00094dbc" (identifier "uVar4") (= "=") (identifier "DAT_00094dbc")) (; ";")) (if_statement "if (iVar2 == 2) {\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }" (if "if") (parenthesized_expression "(iVar2 == 2)" (( "(") (binary_expression "iVar2 == 2" (identifier "iVar2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);\n      FUN_000316f0(uVar6,uVar4);\n    }" ({ "{") (expression_statement "uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);" (assignment_expression "uVar6 = dcgettext(0,"%F%P: target %s not found\n",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"%F%P: target %s not found\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: target %s not found\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: target %s not found\n"" (" """) (string_content "%F%P: target %s not found") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_000316f0(uVar6,uVar4);" (call_expression "FUN_000316f0(uVar6,uVar4)" (identifier "FUN_000316f0") (argument_list "(uVar6,uVar4)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar4") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"%F%P: cannot open output file %s: %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: cannot open output file %s: %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: cannot open output file %s: %E\n"" (" """) (string_content "%F%P: cannot open output file %s: %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_000316f0(uVar4,uVar5);" (call_expression "FUN_000316f0(uVar4,uVar5)" (identifier "FUN_000316f0") (argument_list "(uVar4,uVar5)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_000948c4 = 1;" (assignment_expression "DAT_000948c4 = 1" (identifier "DAT_000948c4") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar2 = bfd_set_format(DAT_00094e30,1);" (assignment_expression "iVar2 = bfd_set_format(DAT_00094e30,1)" (identifier "iVar2") (= "=") (call_expression "bfd_set_format(DAT_00094e30,1)" (identifier "bfd_set_format") (argument_list "(DAT_00094e30,1)" (( "(") (identifier "DAT_00094e30") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"%F%P: %s: can not make object file: %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: %s: can not make object file: %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: %s: can not make object file: %E\n"" (" """) (string_content "%F%P: %s: can not make object file: %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_000316f0(uVar4,uVar5);" (call_expression "FUN_000316f0(uVar4,uVar5)" (identifier "FUN_000316f0") (argument_list "(uVar4,uVar5)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);" (assignment_expression "iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))" (( "(") (pointer_expression "**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154)" (* "*") (pointer_expression "*(code **)(*(int *)(DAT_00094e30 + 4) + 0x154)" (* "*") (cast_expression "(code **)(*(int *)(DAT_00094e30 + 4) + 0x154)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(DAT_00094e30 + 4) + 0x154)" (( "(") (binary_expression "*(int *)(DAT_00094e30 + 4) + 0x154" (pointer_expression "*(int *)(DAT_00094e30 + 4)" (* "*") (cast_expression "(int *)(DAT_00094e30 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00094e30 + 4)" (( "(") (binary_expression "DAT_00094e30 + 4" (identifier "DAT_00094e30") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x154")) () ")"))))) () ")")) (argument_list "(DAT_00094e30,DAT_00094fdc,DAT_00094fe0)" (( "(") (identifier "DAT_00094e30") (, ",") (identifier "DAT_00094fdc") (, ",") (identifier "DAT_00094fe0") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);\n    FUN_000316f0(uVar4,uVar5);\n  }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: %s: can not set architecture: %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: %s: can not set architecture: %E\n"" (" """) (string_content "%F%P: %s: can not set architecture: %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_000316f0(uVar4,uVar5);" (call_expression "FUN_000316f0(uVar4,uVar5)" (identifier "FUN_000316f0") (argument_list "(uVar4,uVar5)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);" (assignment_expression "DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30)" (identifier "DAT_00094e1c") (= "=") (call_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))" (( "(") (pointer_expression "**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168)" (* "*") (pointer_expression "*(code **)(*(int *)(DAT_00094e30 + 4) + 0x168)" (* "*") (cast_expression "(code **)(*(int *)(DAT_00094e30 + 4) + 0x168)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(DAT_00094e30 + 4) + 0x168)" (( "(") (binary_expression "*(int *)(DAT_00094e30 + 4) + 0x168" (pointer_expression "*(int *)(DAT_00094e30 + 4)" (* "*") (cast_expression "(int *)(DAT_00094e30 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00094e30 + 4)" (( "(") (binary_expression "DAT_00094e30 + 4" (identifier "DAT_00094e30") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x168")) () ")"))))) () ")")) (argument_list "(DAT_00094e30)" (( "(") (identifier "DAT_00094e30") () ")")))) (; ";")) (if_statement "if (DAT_00094e1c == 0) {\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }" (if "if") (parenthesized_expression "(DAT_00094e1c == 0)" (( "(") (binary_expression "DAT_00094e1c == 0" (identifier "DAT_00094e1c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);\n    FUN_000316f0(uVar5);\n  }" ({ "{") (expression_statement "uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);" (assignment_expression "uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"%F%P: can not create hash table: %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: can not create hash table: %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: can not create hash table: %E\n"" (" """) (string_content "%F%P: can not create hash table: %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_000316f0(uVar5);" (call_expression "FUN_000316f0(uVar5)" (identifier "FUN_000316f0") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "bfd_set_gp_size(DAT_00094e30,DAT_00094348);" (call_expression "bfd_set_gp_size(DAT_00094e30,DAT_00094348)" (identifier "bfd_set_gp_size") (argument_list "(DAT_00094e30,DAT_00094348)" (( "(") (identifier "DAT_00094e30") (, ",") (identifier "DAT_00094348") () ")"))) (; ";")) (expression_statement "FUN_0002ff80();" (call_expression "FUN_0002ff80()" (identifier "FUN_0002ff80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar2 = DAT_00094e30;" (assignment_expression "iVar2 = DAT_00094e30" (identifier "iVar2") (= "=") (identifier "DAT_00094e30")) (; ";")) (if_statement "if (DAT_00094f00 == 0) {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }\n  else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }" (if "if") (parenthesized_expression "(DAT_00094f00 == 0)" (( "(") (binary_expression "DAT_00094f00 == 0" (identifier "DAT_00094f00") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n  }" ({ "{") (expression_statement "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;" (assignment_expression "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" (identifier "uVar7") (= "=") (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" (* "*") (cast_expression "(uint *)(DAT_00094e30 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00094e30 + 0x28)" (( "(") (binary_expression "DAT_00094e30 + 0x28" (identifier "DAT_00094e30") (+ "+") (number_literal "0x28")) () ")")))) (>> ">>") (number_literal "5")) (& "&") (number_literal "0xfffff"))) (; ";")) (} "}")) (else_clause "else {\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }" (else "else") (compound_statement "{\n    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;\n    if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }\n  }" ({ "{") (expression_statement "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;" (assignment_expression "uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" (identifier "uVar7") (= "=") (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) >> 5" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" (* "*") (cast_expression "(uint *)(DAT_00094e30 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00094e30 + 0x28)" (( "(") (binary_expression "DAT_00094e30 + 0x28" (identifier "DAT_00094e30") (+ "+") (number_literal "0x28")) () ")")))) (>> ">>") (number_literal "5")) (& "&") (number_literal "0xfffff"))) (; ";")) (if_statement "if ((DAT_00094e00 & 3) != 2) {\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }" (if "if") (parenthesized_expression "((DAT_00094e00 & 3) != 2)" (( "(") (binary_expression "(DAT_00094e00 & 3) != 2" (parenthesized_expression "(DAT_00094e00 & 3)" (( "(") (binary_expression "DAT_00094e00 & 3" (identifier "DAT_00094e00") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      uVar7 = uVar7 | 0x100;\n      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;\n      *(uint *)(DAT_00094e30 + 0x28) = uVar3;\n      goto joined_r0x0002446d;\n    }" ({ "{") (expression_statement "uVar7 = uVar7 | 0x100;" (assignment_expression "uVar7 = uVar7 | 0x100" (identifier "uVar7") (= "=") (binary_expression "uVar7 | 0x100" (identifier "uVar7") (| "|") (number_literal "0x100"))) (; ";")) (expression_statement "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;" (assignment_expression "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" (identifier "uVar3") (= "=") (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" (* "*") (cast_expression "(uint *)(DAT_00094e30 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00094e30 + 0x28)" (( "(") (binary_expression "DAT_00094e30 + 0x28" (identifier "DAT_00094e30") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xfe00001f")) (| "|") (binary_expression "uVar7 << 5" (identifier "uVar7") (<< "<<") (number_literal "5")))) (; ";")) (expression_statement "*(uint *)(DAT_00094e30 + 0x28) = uVar3;" (assignment_expression "*(uint *)(DAT_00094e30 + 0x28) = uVar3" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" (* "*") (cast_expression "(uint *)(DAT_00094e30 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00094e30 + 0x28)" (( "(") (binary_expression "DAT_00094e30 + 0x28" (identifier "DAT_00094e30") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (goto_statement "goto joined_r0x0002446d;" (goto "goto") (statement_identifier "joined_r0x0002446d") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar7 = uVar7 & 0xffeff;" (assignment_expression "uVar7 = uVar7 & 0xffeff" (identifier "uVar7") (= "=") (binary_expression "uVar7 & 0xffeff" (identifier "uVar7") (& "&") (number_literal "0xffeff"))) (; ";")) (expression_statement "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;" (assignment_expression "uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" (identifier "uVar3") (= "=") (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5" (binary_expression "*(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" (* "*") (cast_expression "(uint *)(DAT_00094e30 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00094e30 + 0x28)" (( "(") (binary_expression "DAT_00094e30 + 0x28" (identifier "DAT_00094e30") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xfe00001f")) (| "|") (binary_expression "uVar7 << 5" (identifier "uVar7") (<< "<<") (number_literal "5")))) (; ";")) (expression_statement "*(uint *)(DAT_00094e30 + 0x28) = uVar3;" (assignment_expression "*(uint *)(DAT_00094e30 + 0x28) = uVar3" (pointer_expression "*(uint *)(DAT_00094e30 + 0x28)" (* "*") (cast_expression "(uint *)(DAT_00094e30 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00094e30 + 0x28)" (( "(") (binary_expression "DAT_00094e30 + 0x28" (identifier "DAT_00094e30") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (labeled_statement "joined_r0x0002446d:\n  if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }" (statement_identifier "joined_r0x0002446d") (: ":") (if_statement "if (DAT_00094f30 == 0) {\n    uVar7 = uVar7 & 0xfff7f;\n  }\n  else {\n    uVar7 = uVar7 | 0x80;\n  }" (if "if") (parenthesized_expression "(DAT_00094f30 == 0)" (( "(") (binary_expression "DAT_00094f30 == 0" (identifier "DAT_00094f30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar7 = uVar7 & 0xfff7f;\n  }" ({ "{") (expression_statement "uVar7 = uVar7 & 0xfff7f;" (assignment_expression "uVar7 = uVar7 & 0xfff7f" (identifier "uVar7") (= "=") (binary_expression "uVar7 & 0xfff7f" (identifier "uVar7") (& "&") (number_literal "0xfff7f"))) (; ";")) (} "}")) (else_clause "else {\n    uVar7 = uVar7 | 0x80;\n  }" (else "else") (compound_statement "{\n    uVar7 = uVar7 | 0x80;\n  }" ({ "{") (expression_statement "uVar7 = uVar7 | 0x80;" (assignment_expression "uVar7 = uVar7 | 0x80" (identifier "uVar7") (= "=") (binary_expression "uVar7 | 0x80" (identifier "uVar7") (| "|") (number_literal "0x80"))) (; ";")) (} "}"))))) (expression_statement "uVar3 = uVar3 & 0xfe00001f;" (assignment_expression "uVar3 = uVar3 & 0xfe00001f" (identifier "uVar3") (= "=") (binary_expression "uVar3 & 0xfe00001f" (identifier "uVar3") (& "&") (number_literal "0xfe00001f"))) (; ";")) (expression_statement "*(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;" (assignment_expression "*(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5" (pointer_expression "*(uint *)(iVar2 + 0x28)" (* "*") (cast_expression "(uint *)(iVar2 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x28)" (( "(") (binary_expression "iVar2 + 0x28" (identifier "iVar2") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar3 | uVar7 << 5" (identifier "uVar3") (| "|") (binary_expression "uVar7 << 5" (identifier "uVar7") (<< "<<") (number_literal "5")))) (; ";")) (if_statement "if ((DAT_00094e04 & 0x20) == 0) {\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }" (if "if") (parenthesized_expression "((DAT_00094e04 & 0x20) == 0)" (( "(") (binary_expression "(DAT_00094e04 & 0x20) == 0" (parenthesized_expression "(DAT_00094e04 & 0x20)" (( "(") (binary_expression "DAT_00094e04 & 0x20" (identifier "DAT_00094e04") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;\n    return;\n  }" ({ "{") (expression_statement "*(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;" (assignment_expression "*(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5" (pointer_expression "*(uint *)(iVar2 + 0x28)" (* "*") (cast_expression "(uint *)(iVar2 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x28)" (( "(") (binary_expression "iVar2 + 0x28" (identifier "iVar2") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar3 | (uVar7 & 0xffbff) << 5" (identifier "uVar3") (| "|") (binary_expression "(uVar7 & 0xffbff) << 5" (parenthesized_expression "(uVar7 & 0xffbff)" (( "(") (binary_expression "uVar7 & 0xffbff" (identifier "uVar7") (& "&") (number_literal "0xffbff")) () ")")) (<< "<<") (number_literal "5")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;" (assignment_expression "*(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3" (pointer_expression "*(uint *)(iVar2 + 0x28)" (* "*") (cast_expression "(uint *)(iVar2 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x28)" (( "(") (binary_expression "iVar2 + 0x28" (identifier "iVar2") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "(uVar7 | 0x400) << 5 | uVar3" (binary_expression "(uVar7 | 0x400) << 5" (parenthesized_expression "(uVar7 | 0x400)" (( "(") (binary_expression "uVar7 | 0x400" (identifier "uVar7") (| "|") (number_literal "0x400")) () ")")) (<< "<<") (number_literal "5")) (| "|") (identifier "uVar3"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(type_1 *statement)

{
  type_2 *var_9;
  type_3 *pbVar2;
  int var_7;
  type_4 var_16;
  type_5 var_20;
  char *pcVar6;
  char *pcVar7;
  char *fmt;
  type_5 var_19;
  
  if ((statement->header).type == var_1) {
    current_target = (statement->wild_statement).filename;
    return;
  }
  if ((statement->header).type != var_2) {
    return;
  }
  if (link_info.output_bfd != (type_3 *)0x0) {
    var_3("../../ld/ldlang.c",0xc7e);
  }
  pcVar7 = (statement->wild_statement).filename;
  output_target = var_4();
  if (((command_line.endian != var_5) &&
      (var_7 = var_6(get_target,output_target), var_7 != 0)) &&
     (*(type_5 *)(var_7 + 8) != (type_5)(command_line.endian != var_8))) {
    var_9 = *(type_2 **)(var_7 + 0x1bc);
    if ((var_9 == (type_2 *)0x0) || (var_9[2] != (type_5)(command_line.endian != var_8))) {
      var_6(closest_target_match,var_7);
      if (var_10 == (type_6 *)0x0) {
        pcVar6 = (char *)var_11(0,
                                   "%P: warning: could not find any targets that match endianness requirement\n"
                                   ,5);
        var_12(pcVar6);
      }
      else {
        output_target = var_10->name;
      }
    }
    else {
      output_target = (char *)*var_9;
    }
  }
  link_info.output_bfd = (type_3 *)var_13(pcVar7,output_target);
  if (link_info.output_bfd == (type_3 *)0x0) {
    var_7 = var_14();
    pcVar6 = output_target;
    if (var_7 == 2) {
      fmt = (char *)var_11(0,"%F%P: target %s not found\n",5);
      var_12(fmt,pcVar6);
    }
    pcVar6 = (char *)var_11(0,"%F%P: cannot open output file %s: %E\n",5);
    var_12(pcVar6,pcVar7);
  }
  delete_output_file_on_failure = 1;
  var_7 = var_15(link_info.output_bfd,1);
  if (var_7 == 0) {
    pcVar6 = (char *)var_11(0,"%F%P: %s: can not make object file: %E\n",5);
    var_12(pcVar6,pcVar7);
  }
  var_16 = (*(link_info.output_bfd)->xvec->_bfd_set_arch_mach)
                    (link_info.output_bfd,ldfile_output_architecture,ldfile_output_machine);
  if (var_16 == 0) {
    pcVar6 = (char *)var_11(0,"%F%P: %s: can not set architecture: %E\n",5);
    var_12(pcVar6,pcVar7);
  }
  link_info.hash =
       (*(link_info.output_bfd)->xvec->_bfd_link_hash_table_create)(link_info.output_bfd);
  if (link_info.hash == (type_7 *)0x0) {
    pcVar7 = (char *)var_11(0,"%F%P: can not create hash table: %E\n",5);
    var_12(pcVar7);
  }
  var_17(link_info.output_bfd,g_switch_value);
  var_18();
  pbVar2 = link_info.output_bfd;
  if (config.magic_demand_paged == 0) {
    var_19 = *(type_5 *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;
  }
  else {
    var_19 = *(type_5 *)&(link_info.output_bfd)->field_0x28 >> 5 & 0xfffff;
    if ((link_info._0_1_ & 3) != 2) {
      var_19 = var_19 | 0x100;
      var_20 = *(type_5 *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | var_19 << 5;
      *(type_5 *)&(link_info.output_bfd)->field_0x28 = var_20;
      goto joined_r0x0002446d;
    }
  }
  var_19 = var_19 & 0xffeff;
  var_20 = *(type_5 *)&(link_info.output_bfd)->field_0x28 & 0xfe00001f | var_19 << 5;
  *(type_5 *)&(link_info.output_bfd)->field_0x28 = var_20;
joined_r0x0002446d:
  if (config.text_read_only == 0) {
    var_19 = var_19 & 0xfff7f;
  }
  else {
    var_19 = var_19 | 0x80;
  }
  var_20 = var_20 & 0xfe00001f;
  *(type_5 *)&pbVar2->field_0x28 = var_20 | var_19 << 5;
  if ((link_info._4_1_ & 0x20) == 0) {
    *(type_5 *)&pbVar2->field_0x28 = var_20 | (var_19 & 0xffbff) << 5;
    return;
  }
  *(type_5 *)&pbVar2->field_0x28 = (var_19 | 0x400) << 5 | var_20;
  return;
}


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

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

void MASKED(int param_1)

{
  undefined4 *puVar1;
  int iVar2;
  uint uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  uint uVar7;
  
  if (*(int *)(param_1 + 4) == 10) {
    DAT_00094990 = *(undefined4 *)(param_1 + 8);
    return;
  }
  if (*(int *)(param_1 + 4) != 0xb) {
    return;
  }
  if (DAT_00094e30 != 0) {
    FUN_00031740("../../ld/ldlang.c",0xc7e);
  }
  uVar5 = *(undefined4 *)(param_1 + 8);
  DAT_00094dbc = FUN_000241e0();
  if (((DAT_00094ed0 != 0) &&
      (iVar2 = bfd_iterate_over_targets(FUN_0001df70,DAT_00094dbc), iVar2 != 0)) &&
     (*(uint *)(iVar2 + 8) != (uint)(DAT_00094ed0 != 1))) {
    puVar1 = *(undefined4 **)(iVar2 + 0x1bc);
    if ((puVar1 == (undefined4 *)0x0) || (puVar1[2] != (uint)(DAT_00094ed0 != 1))) {
      bfd_iterate_over_targets(FUN_00020190,iVar2);
      if (DAT_00094924 == (undefined4 *)0x0) {
        uVar4 = dcgettext(0,
                          "%P: warning: could not find any targets that match endianness requirement\n"
                          ,5);
        FUN_000316f0(uVar4);
      }
      else {
        DAT_00094dbc = *DAT_00094924;
      }
    }
    else {
      DAT_00094dbc = *puVar1;
    }
  }
  DAT_00094e30 = bfd_openw(uVar5,DAT_00094dbc);
  if (DAT_00094e30 == 0) {
    iVar2 = bfd_get_error();
    uVar4 = DAT_00094dbc;
    if (iVar2 == 2) {
      uVar6 = dcgettext(0,"%F%P: target %s not found\n",5);
      FUN_000316f0(uVar6,uVar4);
    }
    uVar4 = dcgettext(0,"%F%P: cannot open output file %s: %E\n",5);
    FUN_000316f0(uVar4,uVar5);
  }
  DAT_000948c4 = 1;
  iVar2 = bfd_set_format(DAT_00094e30,1);
  if (iVar2 == 0) {
    uVar4 = dcgettext(0,"%F%P: %s: can not make object file: %E\n",5);
    FUN_000316f0(uVar4,uVar5);
  }
  iVar2 = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x154))(DAT_00094e30,DAT_00094fdc,DAT_00094fe0);
  if (iVar2 == 0) {
    uVar4 = dcgettext(0,"%F%P: %s: can not set architecture: %E\n",5);
    FUN_000316f0(uVar4,uVar5);
  }
  DAT_00094e1c = (**(code **)(*(int *)(DAT_00094e30 + 4) + 0x168))(DAT_00094e30);
  if (DAT_00094e1c == 0) {
    uVar5 = dcgettext(0,"%F%P: can not create hash table: %E\n",5);
    FUN_000316f0(uVar5);
  }
  bfd_set_gp_size(DAT_00094e30,DAT_00094348);
  FUN_0002ff80();
  iVar2 = DAT_00094e30;
  if (DAT_00094f00 == 0) {
    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;
  }
  else {
    uVar7 = *(uint *)(DAT_00094e30 + 0x28) >> 5 & 0xfffff;
    if ((DAT_00094e00 & 3) != 2) {
      uVar7 = uVar7 | 0x100;
      uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;
      *(uint *)(DAT_00094e30 + 0x28) = uVar3;
      goto joined_r0x0002446d;
    }
  }
  uVar7 = uVar7 & 0xffeff;
  uVar3 = *(uint *)(DAT_00094e30 + 0x28) & 0xfe00001f | uVar7 << 5;
  *(uint *)(DAT_00094e30 + 0x28) = uVar3;
joined_r0x0002446d:
  if (DAT_00094f30 == 0) {
    uVar7 = uVar7 & 0xfff7f;
  }
  else {
    uVar7 = uVar7 | 0x80;
  }
  uVar3 = uVar3 & 0xfe00001f;
  *(uint *)(iVar2 + 0x28) = uVar3 | uVar7 << 5;
  if ((DAT_00094e04 & 0x20) == 0) {
    *(uint *)(iVar2 + 0x28) = uVar3 | (uVar7 & 0xffbff) << 5;
    return;
  }
  *(uint *)(iVar2 + 0x28) = (uVar7 | 0x400) << 5 | uVar3;
  return;
}

