
bfd_boolean load_symbols(lang_input_statement_type *entry,lang_statement_list_type *place)

{
  ushort uVar1;
  ushort uVar2;
  lang_input_statement_flags lVar3;
  undefined *puVar4;
  int iVar5;
  bfd_boolean bVar6;
  uint uVar7;
  int iVar8;
  int iVar9;
  undefined *puVar10;
  undefined *puVar11;
  lang_statement_list_type *new_ptr;
  undefined4 *puVar12;
  bfd *pbVar13;
  char *pcVar14;
  char **ppcVar15;
  bfd *pbVar16;
  undefined4 uVar17;
  undefined *puVar18;
  undefined *puVar19;
  undefined *puVar20;
  bfd *subsbfd;
  undefined4 local_34;
  char **matching;
  
  if ((((ulonglong)entry->flags & 0x40000000000000) == 0) &&
     (ldfile_open_file(entry), ((ulonglong)entry->flags & 0x10000000000000) == 0)) {
    iVar5 = (*(code *)PTR_bfd_check_format_001dbe7c)(entry->the_bfd,2);
    if ((iVar5 == 0) &&
       (iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),
       iVar5 == 0)) {
      iVar5 = (*(code *)PTR_bfd_get_error_001dc048)();
      bVar6 = ldemul_unrecognized_file(entry);
      if (bVar6 == 0) {
        if (iVar5 == 0xd) {
          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)
                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);
          einfo(pcVar14,entry->the_bfd);
          if (*matching != (char *)0x0) {
            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;
            ppcVar15 = matching;
            do {
              ppcVar15 = ppcVar15 + 1;
              einfo(pcVar14);
            } while (*ppcVar15 != (char *)0x0);
          }
          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);
        }
        else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {
          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)
                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);
          einfo(pcVar14,entry->the_bfd);
        }
        puVar20 = PTR_input_flags_001dba44;
        puVar19 = PTR_DAT_001db8f8;
        (*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd);
        pbVar16 = *(bfd **)puVar20;
        local_34 = *(undefined4 *)(puVar20 + 4);
        new_ptr = (lang_statement_list_type *)entry->filename;
        entry->the_bfd = (bfd *)0x0;
        subsbfd = pbVar16;
        ldfile_open_command_file((char *)new_ptr);
        puVar4 = PTR_stat_ptr_001dbbf8;
        puVar18 = PTR_ldfile_assumed_script_001dba1c;
        puVar12 = *(undefined4 **)(puVar19 + -0x4fc4);
        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar12) {
                    /* WARNING: Subroutine does not return */
          push_stat_ptr(new_ptr);
        }
        uVar1 = *(ushort *)puVar20;
        uVar2 = *(ushort *)&entry->flags;
        uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8;
        *(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1;
        *puVar12 = uVar17;
        *(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780;
        *(lang_statement_list_type **)puVar4 = place;
        *(undefined4 *)puVar18 = 1;
        *(undefined4 *)PTR_parser_input_001dba00 = 1;
        yyparse();
        uVar7 = *(uint *)puVar20;
        puVar11 = *(undefined **)(puVar19 + -0x4fc4);
        *(undefined4 *)puVar18 = 0;
        *(undefined4 *)(puVar20 + 4) = local_34;
        subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |
                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),
                                  subsbfd._2_2_);
        puVar10 = PTR_DAT_001db8f8 + -0x3b98;
        *(bfd **)puVar20 = subsbfd;
        puVar20 = PTR_fclose_001dbec0;
        puVar18 = PTR_yyin_001dbb64;
        if (puVar11 <= puVar10) {
                    /* WARNING: Subroutine does not return */
          pop_stat_ptr();
        }
        uVar17 = *(undefined4 *)(puVar11 + -4);
        *(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4;
        *(undefined4 *)puVar4 = uVar17;
        (*(code *)puVar20)(*(undefined4 *)puVar18);
        *(undefined4 *)puVar18 = 0;
        *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;
      }
    }
    else {
      bVar6 = ldemul_recognized_file(entry);
      if (bVar6 == 0) {
        pbVar16 = entry->the_bfd;
        uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;
        if (uVar7 == 1) {
          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {
            ldlang_add_file(entry);
          }
          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {
            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);
          }
          pbVar16 = entry->the_bfd;
        }
        else if (uVar7 == 2) {
          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);
          if (puVar12 != (undefined4 *)0x0) {
            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;
            do {
              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);
              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);
              uVar17 = *puVar12;
              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);
              if (iVar9 == 0) {
LAB_0002b5dc:
                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;
                pbVar16 = entry->the_bfd;
                goto LAB_0002b5f0;
              }
              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);
              if (iVar9 == 0) {
                pcVar14 = (char *)(iVar8 + iVar5);
                if ((*pcVar14 == '\0') ||
                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))
                goto LAB_0002b5dc;
              }
              puVar12 = (undefined4 *)puVar12[1];
            } while (puVar12 != (undefined4 *)0x0);
            pbVar16 = entry->the_bfd;
          }
LAB_0002b5f0:
          lVar3 = entry->flags;
          pbVar16->usrdata = entry;
          puVar19 = PTR_yy_accept_1428__001db910;
          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {
            iVar5 = 1;
            pbVar13 = (bfd *)0x0;
            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;
            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;
            while( true ) {
              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)
              ;
              if (pbVar13 == (bfd *)0x0) {
                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);
                return iVar5;
              }
              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);
              if (iVar8 == 0) {
                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);
                iVar5 = 0;
                einfo(pcVar14,entry->the_bfd,pbVar13);
              }
              puVar4 = PTR_link_info_001db928;
              subsbfd = pbVar13;
              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))
                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);
              if (iVar8 == 0) break;
              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);
              if (bVar6 == 0) {
                iVar5 = 0;
                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);
                einfo(pcVar14,pbVar13);
                pbVar16 = entry->the_bfd;
              }
              else {
                pbVar16 = entry->the_bfd;
              }
            }
                    /* WARNING: Subroutine does not return */
            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,
                     PTR_yy_accept_1428__001db910 + 0x40cc);
          }
        }
        bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)
                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);
        if (bVar6 != 0) {
          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;
          return 1;
        }
        pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)
                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);
        einfo(pcVar14,entry->the_bfd);
        return (uint)(*(int *)&entry->flags << 9) >> 0x1f;
      }
    }
  }
  return 1;
}



uint load_symbols(int param_1,int param_2)

{
  ushort uVar1;
  ushort uVar2;
  undefined *puVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined4 *puVar9;
  uint uVar10;
  char *pcVar11;
  uint uVar12;
  int *piVar13;
  undefined4 *puVar14;
  undefined4 uVar15;
  undefined *puVar16;
  undefined *puVar17;
  undefined *puVar18;
  uint local_38;
  undefined4 local_34;
  int *local_30 [2];
  
  if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&
     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {
    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);
    if ((iVar4 == 0) &&
       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)
                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {
      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();
      iVar5 = ldemul_unrecognized_file(param_1);
      if (iVar5 == 0) {
        if (iVar4 == 0xd) {
          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);
          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));
          if (*local_30[0] != 0) {
            puVar17 = PTR_DAT_001db910 + 0x4e4;
            piVar13 = local_30[0];
            do {
              piVar13 = piVar13 + 1;
              einfo(puVar17);
            } while (*piVar13 != 0);
          }
          einfo(PTR_DAT_001db910 + 0x4bb8);
        }
        else if ((iVar4 != 0xc) || (param_2 == 0)) {
          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);
          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));
        }
        puVar18 = PTR_input_flags_001dba44;
        puVar17 = PTR_DAT_001db8f8;
        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));
        uVar10 = *(uint *)puVar18;
        local_34 = *(undefined4 *)(puVar18 + 4);
        *(undefined4 *)(param_1 + 0x10) = 0;
        local_38 = uVar10;
        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));
        puVar3 = PTR_stat_ptr_001dbbf8;
        puVar16 = PTR_ldfile_assumed_script_001dba1c;
        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);
        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {
                    /* WARNING: Subroutine does not return */
          FUN_000264a8();
        }
        uVar1 = *(ushort *)puVar18;
        uVar2 = *(ushort *)(param_1 + 0x24);
        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;
        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;
        *puVar14 = uVar15;
        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;
        *(int *)puVar3 = param_2;
        *(undefined4 *)puVar16 = 1;
        *(undefined4 *)PTR_parser_input_001dba00 = 1;
        yyparse();
        uVar12 = *(uint *)puVar18;
        puVar8 = *(undefined **)(puVar17 + -0x4fc4);
        *(undefined4 *)puVar16 = 0;
        *(undefined4 *)(puVar18 + 4) = local_34;
        local_38 = CONCAT22(local_38._0_2_ & 0xffef |
                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);
        puVar7 = PTR_DAT_001db8f8 + -0x3b98;
        *(uint *)puVar18 = local_38;
        puVar18 = PTR_fclose_001dbec0;
        puVar16 = PTR_yyin_001dbb64;
        if (puVar8 <= puVar7) {
                    /* WARNING: Subroutine does not return */
          FUN_000264dc();
        }
        uVar15 = *(undefined4 *)(puVar8 + -4);
        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;
        *(undefined4 *)puVar3 = uVar15;
        (*(code *)puVar18)(*(undefined4 *)puVar16);
        *(undefined4 *)puVar16 = 0;
        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;
      }
    }
    else {
      iVar4 = ldemul_recognized_file(param_1);
      if (iVar4 == 0) {
        puVar14 = *(undefined4 **)(param_1 + 0x10);
        if ((uint)puVar14[10] >> 0x1d == 1) {
          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {
            ldlang_add_file(param_1);
          }
          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {
            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);
          }
          puVar14 = *(undefined4 **)(param_1 + 0x10);
        }
        else if ((uint)puVar14[10] >> 0x1d == 2) {
          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);
          if (puVar9 != (undefined4 *)0x0) {
            puVar17 = PTR_DAT_001db910 + 0x4be8;
            do {
              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);
              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);
              uVar15 = *puVar9;
              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);
              if (iVar6 == 0) {
LAB_0002b5dc:
                puVar14[10] = puVar14[10] & 0xfffffffb | 4;
                puVar14 = *(undefined4 **)(param_1 + 0x10);
                goto LAB_0002b5f0;
              }
              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);
              if (iVar6 == 0) {
                pcVar11 = (char *)(iVar5 + iVar4);
                if ((*pcVar11 == '\0') ||
                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))
                goto LAB_0002b5dc;
              }
              puVar9 = (undefined4 *)puVar9[1];
            } while (puVar9 != (undefined4 *)0x0);
            puVar14 = *(undefined4 **)(param_1 + 0x10);
          }
LAB_0002b5f0:
          uVar1 = *(ushort *)(param_1 + 0x24);
          puVar14[0x2b] = param_1;
          puVar17 = PTR_DAT_001db910;
          if ((uVar1 & 0x80) != 0) {
            uVar12 = 1;
            uVar10 = 0;
            puVar18 = PTR_DAT_001db910 + 0x4bec;
            puVar16 = PTR_DAT_001db910 + 0x4c20;
            while( true ) {
              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);
              if (uVar10 == 0) {
                *(ushort *)(param_1 + 0x24) =
                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);
                return uVar12;
              }
              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);
              if (iVar4 == 0) {
                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);
                uVar12 = 0;
                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);
              }
              puVar3 = PTR_link_info_001db928;
              local_38 = uVar10;
              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))
                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);
              if (iVar4 == 0) break;
              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);
              if (iVar4 == 0) {
                uVar12 = 0;
                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);
                einfo(uVar15,uVar10);
                puVar14 = *(undefined4 **)(param_1 + 0x10);
              }
              else {
                puVar14 = *(undefined4 **)(param_1 + 0x10);
              }
            }
                    /* WARNING: Subroutine does not return */
            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);
          }
        }
        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);
        if (iVar4 != 0) {
          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;
          return 1;
        }
        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);
        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));
        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;
      }
    }
  }
  return 1;
}


lui gp,0x1c
addiu gp,gp,-0x7b64
addu gp,gp,t9
addiu sp,sp,-0x50
lhu v0,0x24(a0)
andi v0,v0,0x40
sw gp,0x10(sp)
sw ra,0x4c(sp)
sw s8,0x48(sp)
sw s7,0x44(sp)
sw s6,0x40(sp)
sw s5,0x3c(sp)
sw s4,0x38(sp)
sw s3,0x34(sp)
sw s2,0x30(sp)
sw s1,0x2c(sp)
beq v0,zero,0x0002b4b4
_sw s0,0x28(sp)
li s2,0x1
lw ra,0x4c(sp)
or v0,s2,zero
lw s8,0x48(sp)
lw s7,0x44(sp)
lw s6,0x40(sp)
lw s5,0x3c(sp)
lw s4,0x38(sp)
lw s3,0x34(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
jr ra
_addiu sp,sp,0x50
lw t9,-0x7c90(gp)
or s0,a0,zero
bal 0x0003cb90
_or s1,a1,zero
lhu v0,0x24(s0)
andi v0,v0,0x10
bne v0,zero,0x0002b47c
_lw gp,0x10(sp)
lw t9,-0x7a54(gp)
li a1,0x2
jalr t9
_lw a0,0x10(s0)
beq v0,zero,0x0002b6a4
_lw gp,0x10(sp)
lw t9,-0x7c80(gp)
bal 0x0003a050
_or a0,s0,zero
bne v0,zero,0x0002b47c
_lw gp,0x10(sp)
lw s3,0x10(s0)
li v1,0x1
lw v0,0x28(s3)
srl v0,v0,0x1d
beq v0,v1,0x0002b81c
_li v1,0x2
bne v0,v1,0x0002b860
_lw v0,-0x7fd8(gp)
lw s1,-0x3bc8(v0)
beq s1,zero,0x0002b5f0
_nop
lw s5,-0x7fc0(gp)
li s6,0x2e
li s7,0x61
b 0x0002b54c
_addiu s5,s5,0x4be8
lw s1,0x4(s1)
beq s1,zero,0x0002b94c
_nop
lw t9,-0x7940(gp)
jalr t9
_lw a0,0x0(s1)
lw gp,0x10(sp)
or s8,v0,zero
lw t9,-0x78d4(gp)
jalr t9
_lw a0,0x0(s3)
or a1,s5,zero
lw gp,0x10(sp)
or s2,v0,zero
lw s4,0x0(s1)
lw t9,-0x778c(gp)
jalr t9
_or a0,s4,zero
beq v0,zero,0x0002b5dc
_lw gp,0x10(sp)
lw t9,-0x787c(gp)
or a2,s8,zero
or a1,s2,zero
jalr t9
_or a0,s4,zero
bne v0,zero,0x0002b540
_lw gp,0x10(sp)
addu s2,s2,s8
lb v0,0x0(s2)
beq v0,zero,0x0002b5dc
_nop
bne v0,s6,0x0002b540
_nop
lb v0,0x1(s2)
bne v0,s7,0x0002b540
_nop
lb v0,0x2(s2)
bne v0,zero,0x0002b540
_nop
lw v0,0x28(s3)
li v1,0x1
ins v0,v1,0x2,0x1
sw v0,0x28(s3)
lw s3,0x10(s0)
lhu v0,0x24(s0)
andi v0,v0,0x80
beq v0,zero,0x0002b860
_sw s0,0xac(s3)
lw s5,-0x7fc0(gp)
li s2,0x1
lw s4,-0x7fc0(gp)
or s1,zero,zero
lw s6,-0x7fc0(gp)
addiu s5,s5,0x4bec
addiu s4,s4,0x4c20
lw t9,-0x7a58(gp)
or a1,s1,zero
jalr t9
_or a0,s3,zero
lw gp,0x10(sp)
beq v0,zero,0x0002b93c
_or s1,v0,zero
lw t9,-0x7a54(gp)
li a1,0x1
jalr t9
_or a0,v0,zero
beq v0,zero,0x0002b8cc
_lw gp,0x10(sp)
lw s3,-0x7fa8(gp)
addiu a3,sp,0x18
sw s1,0x18(sp)
or a2,s4,zero
or a1,s1,zero
lw v0,0x1c(s3)
lw t9,0x0(v0)
jalr t9
_or a0,s3,zero
beq v0,zero,0x0002ba0c
_lw gp,0x10(sp)
lw v0,0x18(sp)
or a0,v0,zero
lw v0,0x4(v0)
lw t9,0x16c(v0)
jalr t9
_or a1,s3,zero
beq v0,zero,0x0002b894
_lw gp,0x10(sp)
b 0x0002b61c
_lw s3,0x10(s0)
lw t9,-0x7a18(gp)
addiu a2,sp,0x20
lw a0,0x10(s0)
jalr t9
_li a1,0x1
bne v0,zero,0x0002b4ec
_lw gp,0x10(sp)
lw t9,-0x7888(gp)
jalr t9
_nop
or a0,s0,zero
lw gp,0x10(sp)
lw t9,-0x7c7c(gp)
bal 0x0003a020
_or s2,v0,zero
bne v0,zero,0x0002b47c
_lw gp,0x10(sp)
li v0,0xd
beq s2,v0,0x0002b994
_li v0,0xc
bne s2,v0,0x0002b964
_lw a1,-0x7fc0(gp)
beq s1,zero,0x0002b968
_li a2,0x5
lw t9,-0x7a04(gp)
lw s2,-0x7e8c(gp)
lw s4,-0x7fd8(gp)
jalr t9
_lw a0,0x10(s0)
lw gp,0x10(sp)
lw v0,0x0(s2)
lw v1,0x4(s2)
lw a0,0x8(s0)
lw t9,-0x7ed4(gp)
ext s3,v0,0x14,0x1
sw v0,0x18(sp)
sw v1,0x1c(sp)
bal 0x0003cdbc
_sw zero,0x10(s0)
lw gp,0x10(sp)
lw v1,-0x4fc4(s4)
lw v0,-0x7fd8(gp)
addiu v0,v0,-0x3b70
sltu v0,v1,v0
beq v0,zero,0x0002ba38
_lw s6,-0x7cd8(gp)
addiu a1,v1,0x4
lhu v0,0x0(s2)
li s5,0x1
lhu a0,0x24(s0)
lw s7,-0x7eb4(gp)
lw a2,0x0(s6)
andi v0,v0,0xf87f
andi a0,a0,0x780
lw t9,-0x7ecc(gp)
or v0,v0,a0
sw a1,-0x4fc4(s4)
sw a2,0x0(v1)
sh v0,0x0(s2)
sw s1,0x0(s6)
sw s5,0x0(s7)
lw v0,-0x7ed0(gp)
bal 0x000188ac
_sw s5,0x0(v0)
lw v0,0x0(s2)
lw gp,0x10(sp)
lhu a0,0x18(sp)
ext v0,v0,0x14,0x1
lw v1,-0x4fc4(s4)
sw zero,0x0(s7)
or s3,s3,v0
lw v0,0x1c(sp)
ins a0,s3,0x4,0x1
sw v0,0x4(s2)
sh a0,0x18(sp)
lw v0,-0x7fd8(gp)
lw a0,0x18(sp)
addiu v0,v0,-0x3b98
sltu v0,v0,v1
beq v0,zero,0x0002ba28
_sw a0,0x0(s2)
lw s1,-0x7d6c(gp)
addiu a0,v1,-0x4
lw v0,-0x4(v1)
lw t9,-0x7a10(gp)
sw a0,-0x4fc4(s4)
sw v0,0x0(s6)
jalr t9
_lw a0,0x0(s1)
sw zero,0x0(s1)
lhu v0,0x24(s0)
ins v0,s5,0x6,0x1
b 0x0002b47c
_sh v0,0x24(s0)
lhu v0,0x24(s0)
andi v0,v0,0x8
beq v0,zero,0x0002b954
_lw t9,-0x7f94(gp)
lw v0,-0x7f84(gp)
lw v1,-0x7f80(gp)
lw v0,0x0(v0)
lw v1,0x0(v1)
or v0,v0,v1
beq v0,zero,0x0002b85c
_lw a0,-0x7fc0(gp)
or a1,s0,zero
lw t9,-0x7f7c(gp)
bal 0x0003b940
_addiu a0,a0,0x4be0
lw gp,0x10(sp)
lw s3,0x10(s0)
lw v0,0x4(s3)
lw a1,-0x7fa8(gp)
lw t9,0x16c(v0)
jalr t9
_or a0,s3,zero
beq v0,zero,0x0002b904
_lw gp,0x10(sp)
lhu v0,0x24(s0)
li v1,0x1
li s2,0x1
ins v0,v1,0x6,0x1
b 0x0002b480
_sh v0,0x24(s0)
lw t9,-0x782c(gp)
li a2,0x5
addiu a1,s6,0x4c30
or a0,zero,zero
jalr t9
_or s2,zero,zero
or a1,s1,zero
lw gp,0x10(sp)
lw t9,-0x7fbc(gp)
bal 0x0003b994
_or a0,v0,zero
lw gp,0x10(sp)
b 0x0002b61c
_lw s3,0x10(s0)
lw t9,-0x782c(gp)
li a2,0x5
or a0,zero,zero
jalr t9
_or a1,s5,zero
or a2,s1,zero
lw gp,0x10(sp)
or a0,v0,zero
lw a1,0x10(s0)
lw t9,-0x7fbc(gp)
bal 0x0003b994
_or s2,zero,zero
b 0x0002b650
_lw gp,0x10(sp)
lw a1,-0x7fc0(gp)
li a2,0x5
lw t9,-0x782c(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x4c30
lw gp,0x10(sp)
or a0,v0,zero
lw t9,-0x7fbc(gp)
bal 0x0003b994
_lw a1,0x10(s0)
lw s2,0x24(s0)
b 0x0002b480
_ext s2,s2,0x16,0x1
lhu v0,0x24(s0)
ins v0,s2,0x6,0x1
b 0x0002b480
_sh v0,0x24(s0)
b 0x0002b5f0
_lw s3,0x10(s0)
bal 0x0002b354
_or a0,s0,zero
b 0x0002b82c
_lw gp,0x10(sp)
li a2,0x5
lw t9,-0x782c(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x4bbc
lw gp,0x10(sp)
or a0,v0,zero
lw t9,-0x7fbc(gp)
bal 0x0003b994
_lw a1,0x10(s0)
b 0x0002b704
_lw gp,0x10(sp)
lw a1,-0x7fc0(gp)
li a2,0x5
lw t9,-0x782c(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x4b84
lw gp,0x10(sp)
or a0,v0,zero
lw t9,-0x7fbc(gp)
bal 0x0003b994
_lw a1,0x10(s0)
lw s2,0x20(sp)
lw a1,0x0(s2)
beq a1,zero,0x0002b9f4
_lw gp,0x10(sp)
lw s3,-0x7fc0(gp)
addiu s3,s3,0x4e4
lw t9,-0x7fbc(gp)
addiu s2,s2,0x4
bal 0x0003b994
_or a0,s3,zero
lw a1,0x0(s2)
bne a1,zero,0x0002b9d8
_lw gp,0x10(sp)
lw a0,-0x7fc0(gp)
lw t9,-0x7fbc(gp)
bal 0x0003b994
_addiu a0,a0,0x4bb8
b 0x0002b704
_lw gp,0x10(sp)
lw a2,-0x7fc0(gp)
li a1,0xb2f
lw a0,-0x7fc0(gp)
lw t9,-0x7fa4(gp)
addiu a2,a2,0x40cc
bal 0x0003a8d0
_addiu a0,a0,0x4120
lw t9,-0x7fcc(gp)
addiu t9,t9,0x64dc
bal 0x000264dc
_nop
lw t9,-0x7fcc(gp)
addiu t9,t9,0x64a8
bal 0x000264a8
_nop
(translation_unit "uint load_symbols(int param_1,int param_2)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  char *pcVar11;\n  uint uVar12;\n  int *piVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  undefined *puVar16;\n  undefined *puVar17;\n  undefined *puVar18;\n  uint local_38;\n  undefined4 local_34;\n  int *local_30 [2];\n  \n  if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }\n  return 1;\n}\n\n" (function_definition "uint load_symbols(int param_1,int param_2)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  char *pcVar11;\n  uint uVar12;\n  int *piVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  undefined *puVar16;\n  undefined *puVar17;\n  undefined *puVar18;\n  uint local_38;\n  undefined4 local_34;\n  int *local_30 [2];\n  \n  if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }\n  return 1;\n}" type_identifier (function_declarator "load_symbols(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  ushort uVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  char *pcVar11;\n  uint uVar12;\n  int *piVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  undefined *puVar16;\n  undefined *puVar17;\n  undefined *puVar18;\n  uint local_38;\n  undefined4 local_34;\n  int *local_30 [2];\n  \n  if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }\n  return 1;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int *local_30 [2];" primitive_type (pointer_declarator "*local_30 [2]" * (array_declarator "local_30 [2]" identifier [ number_literal ])) ;) (if_statement "if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }" if (parenthesized_expression "(((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0))" ( (binary_expression "((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)" (parenthesized_expression "((*(ushort *)(param_1 + 0x24) & 0x40) == 0)" ( (binary_expression "(*(ushort *)(param_1 + 0x24) & 0x40) == 0" (parenthesized_expression "(*(ushort *)(param_1 + 0x24) & 0x40)" ( (binary_expression "*(ushort *)(param_1 + 0x24) & 0x40" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)" ( (comma_expression "ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0" (call_expression "ldfile_open_file()" identifier (argument_list "()" ( ))) , (binary_expression "(*(ushort *)(param_1 + 0x24) & 0x10) == 0" (parenthesized_expression "(*(ushort *)(param_1 + 0x24) & 0x10)" ( (binary_expression "*(ushort *)(param_1 + 0x24) & 0x10" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }" { (expression_statement "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);" (assignment_expression "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_001dbe7c)" ( (pointer_expression "*(code *)PTR_bfd_check_format_001dbe7c" * (cast_expression "(code *)PTR_bfd_check_format_001dbe7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10),2)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }" if (parenthesized_expression "((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_001dbeb8)" ( (pointer_expression "*(code *)PTR_bfd_check_format_matches_001dbeb8" * (cast_expression "(code *)PTR_bfd_check_format_matches_001dbeb8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10),1,local_30)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , number_literal , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }" { (expression_statement "iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();" (assignment_expression "iVar4 = (*(code *)PTR_bfd_get_error_001dc048)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_001dc048)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_001dc048)" ( (pointer_expression "*(code *)PTR_bfd_get_error_001dc048" * (cast_expression "(code *)PTR_bfd_get_error_001dc048" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = ldemul_unrecognized_file(param_1);" (assignment_expression "iVar5 = ldemul_unrecognized_file(param_1)" identifier = (call_expression "ldemul_unrecognized_file(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }" { (if_statement "if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" if (parenthesized_expression "(iVar4 == 0xd)" ( (binary_expression "iVar4 == 0xd" identifier == number_literal) )) (compound_statement "{\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }" { (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_001db910 + 0x4b84,5)" ( number_literal , (binary_expression "PTR_DAT_001db910 + 0x4b84" identifier + number_literal) , number_literal )))) ;) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10));" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10))" identifier (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10))" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) (if_statement "if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }" if (parenthesized_expression "(*local_30[0] != 0)" ( (binary_expression "*local_30[0] != 0" (pointer_expression "*local_30[0]" * (subscript_expression "local_30[0]" identifier [ number_literal ])) != number_literal) )) (compound_statement "{\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }" { (expression_statement "puVar17 = PTR_DAT_001db910 + 0x4e4;" (assignment_expression "puVar17 = PTR_DAT_001db910 + 0x4e4" identifier = (binary_expression "PTR_DAT_001db910 + 0x4e4" identifier + number_literal)) ;) (expression_statement "piVar13 = local_30[0];" (assignment_expression "piVar13 = local_30[0]" identifier = (subscript_expression "local_30[0]" identifier [ number_literal ])) ;) (do_statement "do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);" do (compound_statement "{\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            }" { (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "einfo(puVar17);" (call_expression "einfo(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) }) while (parenthesized_expression "(*piVar13 != 0)" ( (binary_expression "*piVar13 != 0" (pointer_expression "*piVar13" * identifier) != number_literal) )) ;) })) (expression_statement "einfo(PTR_DAT_001db910 + 0x4bb8);" (call_expression "einfo(PTR_DAT_001db910 + 0x4bb8)" identifier (argument_list "(PTR_DAT_001db910 + 0x4bb8)" ( (binary_expression "PTR_DAT_001db910 + 0x4bb8" identifier + number_literal) ))) ;) }) (else_clause "else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" else (if_statement "if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" if (parenthesized_expression "((iVar4 != 0xc) || (param_2 == 0))" ( (binary_expression "(iVar4 != 0xc) || (param_2 == 0)" (parenthesized_expression "(iVar4 != 0xc)" ( (binary_expression "iVar4 != 0xc" identifier != number_literal) )) || (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" { (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_001db910 + 0x4bbc,5)" ( number_literal , (binary_expression "PTR_DAT_001db910 + 0x4bbc" identifier + number_literal) , number_literal )))) ;) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10));" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10))" identifier (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10))" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) })))) (expression_statement "puVar18 = PTR_input_flags_001dba44;" (assignment_expression "puVar18 = PTR_input_flags_001dba44" identifier = identifier) ;) (expression_statement "puVar17 = PTR_DAT_001db8f8;" (assignment_expression "puVar17 = PTR_DAT_001db8f8" identifier = identifier) ;) (expression_statement "(*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));" (call_expression "(*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10))" (parenthesized_expression "(*(code *)PTR_bfd_close_001dbecc)" ( (pointer_expression "*(code *)PTR_bfd_close_001dbecc" * (cast_expression "(code *)PTR_bfd_close_001dbecc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar10 = *(uint *)puVar18;" (assignment_expression "uVar10 = *(uint *)puVar18" identifier = (pointer_expression "*(uint *)puVar18" * (cast_expression "(uint *)puVar18" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_34 = *(undefined4 *)(puVar18 + 4);" (assignment_expression "local_34 = *(undefined4 *)(puVar18 + 4)" identifier = (pointer_expression "*(undefined4 *)(puVar18 + 4)" * (cast_expression "(undefined4 *)(puVar18 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_38 = uVar10;" (assignment_expression "local_38 = uVar10" identifier = identifier) ;) (expression_statement "ldfile_open_command_file(*(undefined4 *)(param_1 + 8));" (call_expression "ldfile_open_command_file(*(undefined4 *)(param_1 + 8))" identifier (argument_list "(*(undefined4 *)(param_1 + 8))" ( (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 "puVar3 = PTR_stat_ptr_001dbbf8;" (assignment_expression "puVar3 = PTR_stat_ptr_001dbbf8" identifier = identifier) ;) (expression_statement "puVar16 = PTR_ldfile_assumed_script_001dba1c;" (assignment_expression "puVar16 = PTR_ldfile_assumed_script_001dba1c" identifier = identifier) ;) (expression_statement "puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);" (assignment_expression "puVar14 = *(undefined4 **)(puVar17 + -0x4fc4)" identifier = (pointer_expression "*(undefined4 **)(puVar17 + -0x4fc4)" * (cast_expression "(undefined4 **)(puVar17 + -0x4fc4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x4fc4)" ( (binary_expression "puVar17 + -0x4fc4" identifier + number_literal) ))))) ;) (if_statement "if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264a8();\n        }" if (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3b70 <= puVar14)" ( (binary_expression "PTR_DAT_001db8f8 + -0x3b70 <= puVar14" (binary_expression "PTR_DAT_001db8f8 + -0x3b70" identifier + number_literal) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_000264a8();\n        }" { comment (expression_statement "FUN_000264a8();" (call_expression "FUN_000264a8()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar1 = *(ushort *)puVar18;" (assignment_expression "uVar1 = *(ushort *)puVar18" identifier = (pointer_expression "*(ushort *)puVar18" * (cast_expression "(ushort *)puVar18" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar2 = *(ushort *)(param_1 + 0x24);" (assignment_expression "uVar2 = *(ushort *)(param_1 + 0x24)" identifier = (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;" (assignment_expression "uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8" identifier = (pointer_expression "*(undefined4 *)PTR_stat_ptr_001dbbf8" * (cast_expression "(undefined4 *)PTR_stat_ptr_001dbbf8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;" (assignment_expression "*(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1" (pointer_expression "*(undefined4 **)(puVar17 + -0x4fc4)" * (cast_expression "(undefined4 **)(puVar17 + -0x4fc4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x4fc4)" ( (binary_expression "puVar17 + -0x4fc4" identifier + number_literal) )))) = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "*puVar14 = uVar15;" (assignment_expression "*puVar14 = uVar15" (pointer_expression "*puVar14" * identifier) = identifier) ;) (expression_statement "*(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;" (assignment_expression "*(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780" (pointer_expression "*(ushort *)puVar18" * (cast_expression "(ushort *)puVar18" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar1 & 0xf87f | uVar2 & 0x780" (binary_expression "uVar1 & 0xf87f" identifier & number_literal) | (binary_expression "uVar2 & 0x780" identifier & number_literal))) ;) (expression_statement "*(int *)puVar3 = param_2;" (assignment_expression "*(int *)puVar3 = param_2" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)puVar16 = 1;" (assignment_expression "*(undefined4 *)puVar16 = 1" (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)PTR_parser_input_001dba00 = 1;" (assignment_expression "*(undefined4 *)PTR_parser_input_001dba00 = 1" (pointer_expression "*(undefined4 *)PTR_parser_input_001dba00" * (cast_expression "(undefined4 *)PTR_parser_input_001dba00" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "yyparse();" (call_expression "yyparse()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar12 = *(uint *)puVar18;" (assignment_expression "uVar12 = *(uint *)puVar18" identifier = (pointer_expression "*(uint *)puVar18" * (cast_expression "(uint *)puVar18" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar8 = *(undefined **)(puVar17 + -0x4fc4);" (assignment_expression "puVar8 = *(undefined **)(puVar17 + -0x4fc4)" identifier = (pointer_expression "*(undefined **)(puVar17 + -0x4fc4)" * (cast_expression "(undefined **)(puVar17 + -0x4fc4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x4fc4)" ( (binary_expression "puVar17 + -0x4fc4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)puVar16 = 0;" (assignment_expression "*(undefined4 *)puVar16 = 0" (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + 4) = local_34;" (assignment_expression "*(undefined4 *)(puVar18 + 4) = local_34" (pointer_expression "*(undefined4 *)(puVar18 + 4)" * (cast_expression "(undefined4 *)(puVar18 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);" (assignment_expression "local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_)" identifier = (call_expression "CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_)" identifier (argument_list "(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_)" ( (binary_expression "local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4)" (binary_expression "local_38._0_2_ & 0xffef" (field_expression "local_38._0_2_" identifier . field_identifier) & number_literal) | (call_expression "(ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4)" ( (binary_expression "(((uVar10 | uVar12) << 0xb) >> 0x1f) << 4" (parenthesized_expression "(((uVar10 | uVar12) << 0xb) >> 0x1f)" ( (binary_expression "((uVar10 | uVar12) << 0xb) >> 0x1f" (parenthesized_expression "((uVar10 | uVar12) << 0xb)" ( (binary_expression "(uVar10 | uVar12) << 0xb" (parenthesized_expression "(uVar10 | uVar12)" ( (binary_expression "uVar10 | uVar12" identifier | identifier) )) << number_literal) )) >> number_literal) )) << number_literal) )))) , (field_expression "local_38._2_2_" identifier . field_identifier) )))) ;) (expression_statement "puVar7 = PTR_DAT_001db8f8 + -0x3b98;" (assignment_expression "puVar7 = PTR_DAT_001db8f8 + -0x3b98" identifier = (binary_expression "PTR_DAT_001db8f8 + -0x3b98" identifier + number_literal)) ;) (expression_statement "*(uint *)puVar18 = local_38;" (assignment_expression "*(uint *)puVar18 = local_38" (pointer_expression "*(uint *)puVar18" * (cast_expression "(uint *)puVar18" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "puVar18 = PTR_fclose_001dbec0;" (assignment_expression "puVar18 = PTR_fclose_001dbec0" identifier = identifier) ;) (expression_statement "puVar16 = PTR_yyin_001dbb64;" (assignment_expression "puVar16 = PTR_yyin_001dbb64" identifier = identifier) ;) (if_statement "if (puVar8 <= puVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000264dc();\n        }" if (parenthesized_expression "(puVar8 <= puVar7)" ( (binary_expression "puVar8 <= puVar7" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_000264dc();\n        }" { comment (expression_statement "FUN_000264dc();" (call_expression "FUN_000264dc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar15 = *(undefined4 *)(puVar8 + -4);" (assignment_expression "uVar15 = *(undefined4 *)(puVar8 + -4)" identifier = (pointer_expression "*(undefined4 *)(puVar8 + -4)" * (cast_expression "(undefined4 *)(puVar8 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;" (assignment_expression "*(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4" (pointer_expression "*(undefined **)(puVar17 + -0x4fc4)" * (cast_expression "(undefined **)(puVar17 + -0x4fc4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x4fc4)" ( (binary_expression "puVar17 + -0x4fc4" identifier + number_literal) )))) = (binary_expression "puVar8 + -4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)puVar3 = uVar15;" (assignment_expression "*(undefined4 *)puVar3 = uVar15" (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "(*(code *)puVar18)(*(undefined4 *)puVar16);" (call_expression "(*(code *)puVar18)(*(undefined4 *)puVar16)" (parenthesized_expression "(*(code *)puVar18)" ( (pointer_expression "*(code *)puVar18" * (cast_expression "(code *)puVar18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar16)" ( (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "*(undefined4 *)puVar16 = 0;" (assignment_expression "*(undefined4 *)puVar16 = 0" (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;" (assignment_expression "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) = (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) | number_literal)) ;) })) }) (else_clause "else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }" else (compound_statement "{\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }" { (expression_statement "iVar4 = ldemul_recognized_file(param_1);" (assignment_expression "iVar4 = ldemul_recognized_file(param_1)" identifier = (call_expression "ldemul_recognized_file(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }" { (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" if (parenthesized_expression "((uint)puVar14[10] >> 0x1d == 1)" ( (binary_expression "(uint)puVar14[10] >> 0x1d == 1" (binary_expression "(uint)puVar14[10] >> 0x1d" (cast_expression "(uint)puVar14[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar14[10]" identifier [ number_literal ])) >> number_literal) == number_literal) )) (compound_statement "{\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }" { (if_statement "if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }" if (parenthesized_expression "((*(ushort *)(param_1 + 0x24) & 8) == 0)" ( (binary_expression "(*(ushort *)(param_1 + 0x24) & 8) == 0" (parenthesized_expression "(*(ushort *)(param_1 + 0x24) & 8)" ( (binary_expression "*(ushort *)(param_1 + 0x24) & 8" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            ldlang_add_file(param_1);\n          }" { (expression_statement "ldlang_add_file(param_1);" (call_expression "ldlang_add_file(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) })) (if_statement "if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }" if (parenthesized_expression "(*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0)" ( (binary_expression "*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0" (binary_expression "*(int *)PTR_trace_files_001db94c != 0" (pointer_expression "*(int *)PTR_trace_files_001db94c" * (cast_expression "(int *)PTR_trace_files_001db94c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) || (binary_expression "*(int *)PTR_verbose_001db950 != 0" (pointer_expression "*(int *)PTR_verbose_001db950" * (cast_expression "(int *)PTR_verbose_001db950" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal)) )) (compound_statement "{\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }" { (expression_statement "info_msg(PTR_DAT_001db910 + 0x4be0,param_1);" (call_expression "info_msg(PTR_DAT_001db910 + 0x4be0,param_1)" identifier (argument_list "(PTR_DAT_001db910 + 0x4be0,param_1)" ( (binary_expression "PTR_DAT_001db910 + 0x4be0" identifier + number_literal) , identifier ))) ;) })) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" else (if_statement "if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" if (parenthesized_expression "((uint)puVar14[10] >> 0x1d == 2)" ( (binary_expression "(uint)puVar14[10] >> 0x1d == 2" (binary_expression "(uint)puVar14[10] >> 0x1d" (cast_expression "(uint)puVar14[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar14[10]" identifier [ number_literal ])) >> number_literal) == number_literal) )) (compound_statement "{\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" { (expression_statement "puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);" (assignment_expression "puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" identifier = (pointer_expression "*(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" * (cast_expression "(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3bc8)" ( (binary_expression "PTR_DAT_001db8f8 + -0x3bc8" identifier + number_literal) ))))) ;) (if_statement "if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }" if (parenthesized_expression "(puVar9 != (undefined4 *)0x0)" ( (binary_expression "puVar9 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }" { (expression_statement "puVar17 = PTR_DAT_001db910 + 0x4be8;" (assignment_expression "puVar17 = PTR_DAT_001db910 + 0x4be8" identifier = (binary_expression "PTR_DAT_001db910 + 0x4be8" identifier + number_literal)) ;) (do_statement "do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);" do (compound_statement "{\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            }" { (expression_statement "iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);" (assignment_expression "iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(*puVar9)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar9)" ( (pointer_expression "*puVar9" * identifier) )))) ;) (expression_statement "iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);" (assignment_expression "iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14)" identifier = (call_expression "(*(code *)PTR_lbasename_001dbffc)(*puVar14)" (parenthesized_expression "(*(code *)PTR_lbasename_001dbffc)" ( (pointer_expression "*(code *)PTR_lbasename_001dbffc" * (cast_expression "(code *)PTR_lbasename_001dbffc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) )))) ;) (expression_statement "uVar15 = *puVar9;" (assignment_expression "uVar15 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)(uVar15,puVar17)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar15,puVar17)" ( identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }" { (labeled_statement "LAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;" statement_identifier : (expression_statement "puVar14[10] = puVar14[10] & 0xfffffffb | 4;" (assignment_expression "puVar14[10] = puVar14[10] & 0xfffffffb | 4" (subscript_expression "puVar14[10]" identifier [ number_literal ]) = (binary_expression "puVar14[10] & 0xfffffffb | 4" (binary_expression "puVar14[10] & 0xfffffffb" (subscript_expression "puVar14[10]" identifier [ number_literal ]) & number_literal) | number_literal)) ;)) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0002b5f0;" goto statement_identifier ;) })) (expression_statement "iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);" (assignment_expression "iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4)" identifier = (call_expression "(*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4)" (parenthesized_expression "(*(code *)PTR_filename_ncmp_001dc054)" ( (pointer_expression "*(code *)PTR_filename_ncmp_001dc054" * (cast_expression "(code *)PTR_filename_ncmp_001dc054" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar15,iVar5,iVar4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }" { (expression_statement "pcVar11 = (char *)(iVar5 + iVar4);" (assignment_expression "pcVar11 = (char *)(iVar5 + iVar4)" identifier = (cast_expression "(char *)(iVar5 + iVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + iVar4)" ( (binary_expression "iVar5 + iVar4" identifier + identifier) )))) ;) (if_statement "if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;" if (parenthesized_expression "((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))" ( (binary_expression "(*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0')))" (parenthesized_expression "(*pcVar11 == '\0')" ( (binary_expression "*pcVar11 == '\0'" (pointer_expression "*pcVar11" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0')))" ( (parenthesized_expression "((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))" ( (binary_expression "(*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0')" (parenthesized_expression "(*pcVar11 == '.' && (pcVar11[1] == 'a'))" ( (binary_expression "*pcVar11 == '.' && (pcVar11[1] == 'a')" (binary_expression "*pcVar11 == '.'" (pointer_expression "*pcVar11" * identifier) == (char_literal "'.'" ' character ')) && (parenthesized_expression "(pcVar11[1] == 'a')" ( (binary_expression "pcVar11[1] == 'a'" (subscript_expression "pcVar11[1]" identifier [ number_literal ]) == (char_literal "'a'" ' character ')) ))) )) && (parenthesized_expression "(pcVar11[2] == '\0')" ( (binary_expression "pcVar11[2] == '\0'" (subscript_expression "pcVar11[2]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_0002b5dc;" goto statement_identifier ;)) })) (expression_statement "puVar9 = (undefined4 *)puVar9[1];" (assignment_expression "puVar9 = (undefined4 *)puVar9[1]" identifier = (cast_expression "(undefined4 *)puVar9[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar9[1]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar9 != (undefined4 *)0x0)" ( (binary_expression "puVar9 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) })) (labeled_statement "LAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);" statement_identifier : (expression_statement "uVar1 = *(ushort *)(param_1 + 0x24);" (assignment_expression "uVar1 = *(ushort *)(param_1 + 0x24)" identifier = (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;)) (expression_statement "puVar14[0x2b] = param_1;" (assignment_expression "puVar14[0x2b] = param_1" (subscript_expression "puVar14[0x2b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17 = PTR_DAT_001db910;" (assignment_expression "puVar17 = PTR_DAT_001db910" identifier = identifier) ;) (if_statement "if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }" if (parenthesized_expression "((uVar1 & 0x80) != 0)" ( (binary_expression "(uVar1 & 0x80) != 0" (parenthesized_expression "(uVar1 & 0x80)" ( (binary_expression "uVar1 & 0x80" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }" { (expression_statement "uVar12 = 1;" (assignment_expression "uVar12 = 1" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = PTR_DAT_001db910 + 0x4bec;" (assignment_expression "puVar18 = PTR_DAT_001db910 + 0x4bec" identifier = (binary_expression "PTR_DAT_001db910 + 0x4bec" identifier + number_literal)) ;) (expression_statement "puVar16 = PTR_DAT_001db910 + 0x4c20;" (assignment_expression "puVar16 = PTR_DAT_001db910 + 0x4c20" identifier = (binary_expression "PTR_DAT_001db910 + 0x4c20" identifier + number_literal)) ;) (while_statement "while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }" { (expression_statement "uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);" (assignment_expression "uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10)" identifier = (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)" ( (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_001dbe78" * (cast_expression "(code *)PTR_bfd_openr_next_archived_file_001dbe78" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14,uVar10)" ( identifier , identifier )))) ;) (if_statement "if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }" { (expression_statement "*(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);" (assignment_expression "*(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6)" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) = (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6)" (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) | (call_expression "(ushort)(uVar12 << 6)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar12 << 6)" ( (binary_expression "uVar12 << 6" identifier << number_literal) ))))) ;) (return_statement "return uVar12;" return identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);" (assignment_expression "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_001dbe7c)" ( (pointer_expression "*(code *)PTR_bfd_check_format_001dbe7c" * (cast_expression "(code *)PTR_bfd_check_format_001dbe7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }" { (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar18,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10)" identifier (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , identifier ))) ;) })) (expression_statement "puVar3 = PTR_link_info_001db928;" (assignment_expression "puVar3 = PTR_link_info_001db928" identifier = identifier) ;) (expression_statement "local_38 = uVar10;" (assignment_expression "local_38 = uVar10" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);" (assignment_expression "iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38)" identifier = (call_expression "(*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38)" (parenthesized_expression "(*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))" ( (pointer_expression "*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" * (cast_expression "(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" * (pointer_expression "*(undefined4 **)(PTR_link_info_001db928 + 0x1c)" * (cast_expression "(undefined4 **)(PTR_link_info_001db928 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_link_info_001db928 + 0x1c)" ( (binary_expression "PTR_link_info_001db928 + 0x1c" identifier + number_literal) ))))))) )) (argument_list "(PTR_link_info_001db928,uVar10,puVar16,&local_38)" ( identifier , identifier , identifier , (pointer_expression "&local_38" & identifier) )))) ;) (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);" (assignment_expression "iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3)" identifier = (call_expression "(**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3)" (parenthesized_expression "(**(code **)(*(int *)(local_38 + 4) + 0x16c))" ( (pointer_expression "**(code **)(*(int *)(local_38 + 4) + 0x16c)" * (pointer_expression "*(code **)(*(int *)(local_38 + 4) + 0x16c)" * (cast_expression "(code **)(*(int *)(local_38 + 4) + 0x16c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(local_38 + 4) + 0x16c)" ( (binary_expression "*(int *)(local_38 + 4) + 0x16c" (pointer_expression "*(int *)(local_38 + 4)" * (cast_expression "(int *)(local_38 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 4)" ( (binary_expression "local_38 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(local_38,puVar3)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar17 + 0x4c30,5)" ( number_literal , (binary_expression "puVar17 + 0x4c30" identifier + number_literal) , number_literal )))) ;) (expression_statement "einfo(uVar15,uVar10);" (call_expression "einfo(uVar15,uVar10)" identifier (argument_list "(uVar15,uVar10)" ( identifier , identifier ))) ;) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" else (compound_statement "{\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" { (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) }))) })) comment (expression_statement "ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);" (call_expression "ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc)" identifier (argument_list "(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc)" ( (binary_expression "PTR_DAT_001db910 + 0x4120" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_001db910 + 0x40cc" identifier + number_literal) ))) ;) })) })))) (expression_statement "iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);" (assignment_expression "iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928)" identifier = (call_expression "(**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928)" (parenthesized_expression "(**(code **)(puVar14[1] + 0x16c))" ( (pointer_expression "**(code **)(puVar14[1] + 0x16c)" * (pointer_expression "*(code **)(puVar14[1] + 0x16c)" * (cast_expression "(code **)(puVar14[1] + 0x16c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14[1] + 0x16c)" ( (binary_expression "puVar14[1] + 0x16c" (subscript_expression "puVar14[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(puVar14,PTR_link_info_001db928)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }" { (expression_statement "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;" (assignment_expression "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) = (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_001db910 + 0x4c30,5)" ( number_literal , (binary_expression "PTR_DAT_001db910 + 0x4c30" identifier + number_literal) , number_literal )))) ;) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10));" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10))" identifier (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10))" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) (return_statement "return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;" return (binary_expression "(uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f" (call_expression "(uint)(*(int *)(param_1 + 0x24) << 9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(param_1 + 0x24) << 9)" ( (binary_expression "*(int *)(param_1 + 0x24) << 9" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) << number_literal) ))) >> number_literal) ;) })) }))) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "bfd_boolean load_symbols(lang_input_statement_type *entry,lang_statement_list_type *place)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  lang_input_statement_flags lVar3;\n  undefined *puVar4;\n  int iVar5;\n  bfd_boolean bVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  lang_statement_list_type *new_ptr;\n  undefined4 *puVar12;\n  bfd *pbVar13;\n  char *pcVar14;\n  char **ppcVar15;\n  bfd *pbVar16;\n  undefined4 uVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  bfd *subsbfd;\n  undefined4 local_34;\n  char **matching;\n  \n  if ((((ulonglong)entry->flags & 0x40000000000000) == 0) &&\n     (ldfile_open_file(entry), ((ulonglong)entry->flags & 0x10000000000000) == 0)) {\n    iVar5 = (*(code *)PTR_bfd_check_format_001dbe7c)(entry->the_bfd,2);\n    if ((iVar5 == 0) &&\n       (iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),\n       iVar5 == 0)) {\n      iVar5 = (*(code *)PTR_bfd_get_error_001dc048)();\n      bVar6 = ldemul_unrecognized_file(entry);\n      if (bVar6 == 0) {\n        if (iVar5 == 0xd) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);\n          einfo(pcVar14,entry->the_bfd);\n          if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }\n          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);\n        }\n        else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }\n        puVar20 = PTR_input_flags_001dba44;\n        puVar19 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd);\n        pbVar16 = *(bfd **)puVar20;\n        local_34 = *(undefined4 *)(puVar20 + 4);\n        new_ptr = (lang_statement_list_type *)entry->filename;\n        entry->the_bfd = (bfd *)0x0;\n        subsbfd = pbVar16;\n        ldfile_open_command_file((char *)new_ptr);\n        puVar4 = PTR_stat_ptr_001dbbf8;\n        puVar18 = PTR_ldfile_assumed_script_001dba1c;\n        puVar12 = *(undefined4 **)(puVar19 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar12) {\n                    /* WARNING: Subroutine does not return */\n          push_stat_ptr(new_ptr);\n        }\n        uVar1 = *(ushort *)puVar20;\n        uVar2 = *(ushort *)&entry->flags;\n        uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1;\n        *puVar12 = uVar17;\n        *(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(lang_statement_list_type **)puVar4 = place;\n        *(undefined4 *)puVar18 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar7 = *(uint *)puVar20;\n        puVar11 = *(undefined **)(puVar19 + -0x4fc4);\n        *(undefined4 *)puVar18 = 0;\n        *(undefined4 *)(puVar20 + 4) = local_34;\n        subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_);\n        puVar10 = PTR_DAT_001db8f8 + -0x3b98;\n        *(bfd **)puVar20 = subsbfd;\n        puVar20 = PTR_fclose_001dbec0;\n        puVar18 = PTR_yyin_001dbb64;\n        if (puVar11 <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n          pop_stat_ptr();\n        }\n        uVar17 = *(undefined4 *)(puVar11 + -4);\n        *(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4;\n        *(undefined4 *)puVar4 = uVar17;\n        (*(code *)puVar20)(*(undefined4 *)puVar18);\n        *(undefined4 *)puVar18 = 0;\n        *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n      }\n    }\n    else {\n      bVar6 = ldemul_recognized_file(entry);\n      if (bVar6 == 0) {\n        pbVar16 = entry->the_bfd;\n        uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;\n        if (uVar7 == 1) {\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }\n        else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }\n        bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);\n        if (bVar6 != 0) {\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }\n        pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);\n        einfo(pcVar14,entry->the_bfd);\n        return (uint)(*(int *)&entry->flags << 9) >> 0x1f;\n      }\n    }\n  }\n  return 1;\n}\n\n" (function_definition "bfd_boolean load_symbols(lang_input_statement_type *entry,lang_statement_list_type *place)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  lang_input_statement_flags lVar3;\n  undefined *puVar4;\n  int iVar5;\n  bfd_boolean bVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  lang_statement_list_type *new_ptr;\n  undefined4 *puVar12;\n  bfd *pbVar13;\n  char *pcVar14;\n  char **ppcVar15;\n  bfd *pbVar16;\n  undefined4 uVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  bfd *subsbfd;\n  undefined4 local_34;\n  char **matching;\n  \n  if ((((ulonglong)entry->flags & 0x40000000000000) == 0) &&\n     (ldfile_open_file(entry), ((ulonglong)entry->flags & 0x10000000000000) == 0)) {\n    iVar5 = (*(code *)PTR_bfd_check_format_001dbe7c)(entry->the_bfd,2);\n    if ((iVar5 == 0) &&\n       (iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),\n       iVar5 == 0)) {\n      iVar5 = (*(code *)PTR_bfd_get_error_001dc048)();\n      bVar6 = ldemul_unrecognized_file(entry);\n      if (bVar6 == 0) {\n        if (iVar5 == 0xd) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);\n          einfo(pcVar14,entry->the_bfd);\n          if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }\n          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);\n        }\n        else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }\n        puVar20 = PTR_input_flags_001dba44;\n        puVar19 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd);\n        pbVar16 = *(bfd **)puVar20;\n        local_34 = *(undefined4 *)(puVar20 + 4);\n        new_ptr = (lang_statement_list_type *)entry->filename;\n        entry->the_bfd = (bfd *)0x0;\n        subsbfd = pbVar16;\n        ldfile_open_command_file((char *)new_ptr);\n        puVar4 = PTR_stat_ptr_001dbbf8;\n        puVar18 = PTR_ldfile_assumed_script_001dba1c;\n        puVar12 = *(undefined4 **)(puVar19 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar12) {\n                    /* WARNING: Subroutine does not return */\n          push_stat_ptr(new_ptr);\n        }\n        uVar1 = *(ushort *)puVar20;\n        uVar2 = *(ushort *)&entry->flags;\n        uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1;\n        *puVar12 = uVar17;\n        *(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(lang_statement_list_type **)puVar4 = place;\n        *(undefined4 *)puVar18 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar7 = *(uint *)puVar20;\n        puVar11 = *(undefined **)(puVar19 + -0x4fc4);\n        *(undefined4 *)puVar18 = 0;\n        *(undefined4 *)(puVar20 + 4) = local_34;\n        subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_);\n        puVar10 = PTR_DAT_001db8f8 + -0x3b98;\n        *(bfd **)puVar20 = subsbfd;\n        puVar20 = PTR_fclose_001dbec0;\n        puVar18 = PTR_yyin_001dbb64;\n        if (puVar11 <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n          pop_stat_ptr();\n        }\n        uVar17 = *(undefined4 *)(puVar11 + -4);\n        *(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4;\n        *(undefined4 *)puVar4 = uVar17;\n        (*(code *)puVar20)(*(undefined4 *)puVar18);\n        *(undefined4 *)puVar18 = 0;\n        *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n      }\n    }\n    else {\n      bVar6 = ldemul_recognized_file(entry);\n      if (bVar6 == 0) {\n        pbVar16 = entry->the_bfd;\n        uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;\n        if (uVar7 == 1) {\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }\n        else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }\n        bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);\n        if (bVar6 != 0) {\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }\n        pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);\n        einfo(pcVar14,entry->the_bfd);\n        return (uint)(*(int *)&entry->flags << 9) >> 0x1f;\n      }\n    }\n  }\n  return 1;\n}" type_identifier (function_declarator "load_symbols(lang_input_statement_type *entry,lang_statement_list_type *place)" identifier (parameter_list "(lang_input_statement_type *entry,lang_statement_list_type *place)" ( (parameter_declaration "lang_input_statement_type *entry" type_identifier (pointer_declarator "*entry" * identifier)) , (parameter_declaration "lang_statement_list_type *place" type_identifier (pointer_declarator "*place" * identifier)) ))) (compound_statement "{\n  ushort uVar1;\n  ushort uVar2;\n  lang_input_statement_flags lVar3;\n  undefined *puVar4;\n  int iVar5;\n  bfd_boolean bVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  lang_statement_list_type *new_ptr;\n  undefined4 *puVar12;\n  bfd *pbVar13;\n  char *pcVar14;\n  char **ppcVar15;\n  bfd *pbVar16;\n  undefined4 uVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  bfd *subsbfd;\n  undefined4 local_34;\n  char **matching;\n  \n  if ((((ulonglong)entry->flags & 0x40000000000000) == 0) &&\n     (ldfile_open_file(entry), ((ulonglong)entry->flags & 0x10000000000000) == 0)) {\n    iVar5 = (*(code *)PTR_bfd_check_format_001dbe7c)(entry->the_bfd,2);\n    if ((iVar5 == 0) &&\n       (iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),\n       iVar5 == 0)) {\n      iVar5 = (*(code *)PTR_bfd_get_error_001dc048)();\n      bVar6 = ldemul_unrecognized_file(entry);\n      if (bVar6 == 0) {\n        if (iVar5 == 0xd) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);\n          einfo(pcVar14,entry->the_bfd);\n          if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }\n          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);\n        }\n        else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }\n        puVar20 = PTR_input_flags_001dba44;\n        puVar19 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd);\n        pbVar16 = *(bfd **)puVar20;\n        local_34 = *(undefined4 *)(puVar20 + 4);\n        new_ptr = (lang_statement_list_type *)entry->filename;\n        entry->the_bfd = (bfd *)0x0;\n        subsbfd = pbVar16;\n        ldfile_open_command_file((char *)new_ptr);\n        puVar4 = PTR_stat_ptr_001dbbf8;\n        puVar18 = PTR_ldfile_assumed_script_001dba1c;\n        puVar12 = *(undefined4 **)(puVar19 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar12) {\n                    /* WARNING: Subroutine does not return */\n          push_stat_ptr(new_ptr);\n        }\n        uVar1 = *(ushort *)puVar20;\n        uVar2 = *(ushort *)&entry->flags;\n        uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1;\n        *puVar12 = uVar17;\n        *(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(lang_statement_list_type **)puVar4 = place;\n        *(undefined4 *)puVar18 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar7 = *(uint *)puVar20;\n        puVar11 = *(undefined **)(puVar19 + -0x4fc4);\n        *(undefined4 *)puVar18 = 0;\n        *(undefined4 *)(puVar20 + 4) = local_34;\n        subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_);\n        puVar10 = PTR_DAT_001db8f8 + -0x3b98;\n        *(bfd **)puVar20 = subsbfd;\n        puVar20 = PTR_fclose_001dbec0;\n        puVar18 = PTR_yyin_001dbb64;\n        if (puVar11 <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n          pop_stat_ptr();\n        }\n        uVar17 = *(undefined4 *)(puVar11 + -4);\n        *(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4;\n        *(undefined4 *)puVar4 = uVar17;\n        (*(code *)puVar20)(*(undefined4 *)puVar18);\n        *(undefined4 *)puVar18 = 0;\n        *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n      }\n    }\n    else {\n      bVar6 = ldemul_recognized_file(entry);\n      if (bVar6 == 0) {\n        pbVar16 = entry->the_bfd;\n        uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;\n        if (uVar7 == 1) {\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }\n        else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }\n        bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);\n        if (bVar6 != 0) {\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }\n        pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);\n        einfo(pcVar14,entry->the_bfd);\n        return (uint)(*(int *)&entry->flags << 9) >> 0x1f;\n      }\n    }\n  }\n  return 1;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "lang_input_statement_flags lVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "bfd_boolean bVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "lang_statement_list_type *new_ptr;" type_identifier (pointer_declarator "*new_ptr" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "bfd *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "char **ppcVar15;" primitive_type (pointer_declarator "**ppcVar15" * (pointer_declarator "*ppcVar15" * identifier)) ;) (declaration "bfd *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "bfd *subsbfd;" type_identifier (pointer_declarator "*subsbfd" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "char **matching;" primitive_type (pointer_declarator "**matching" * (pointer_declarator "*matching" * identifier)) ;) (if_statement "if ((((ulonglong)entry->flags & 0x40000000000000) == 0) &&\n     (ldfile_open_file(entry), ((ulonglong)entry->flags & 0x10000000000000) == 0)) {\n    iVar5 = (*(code *)PTR_bfd_check_format_001dbe7c)(entry->the_bfd,2);\n    if ((iVar5 == 0) &&\n       (iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),\n       iVar5 == 0)) {\n      iVar5 = (*(code *)PTR_bfd_get_error_001dc048)();\n      bVar6 = ldemul_unrecognized_file(entry);\n      if (bVar6 == 0) {\n        if (iVar5 == 0xd) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);\n          einfo(pcVar14,entry->the_bfd);\n          if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }\n          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);\n        }\n        else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }\n        puVar20 = PTR_input_flags_001dba44;\n        puVar19 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd);\n        pbVar16 = *(bfd **)puVar20;\n        local_34 = *(undefined4 *)(puVar20 + 4);\n        new_ptr = (lang_statement_list_type *)entry->filename;\n        entry->the_bfd = (bfd *)0x0;\n        subsbfd = pbVar16;\n        ldfile_open_command_file((char *)new_ptr);\n        puVar4 = PTR_stat_ptr_001dbbf8;\n        puVar18 = PTR_ldfile_assumed_script_001dba1c;\n        puVar12 = *(undefined4 **)(puVar19 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar12) {\n                    /* WARNING: Subroutine does not return */\n          push_stat_ptr(new_ptr);\n        }\n        uVar1 = *(ushort *)puVar20;\n        uVar2 = *(ushort *)&entry->flags;\n        uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1;\n        *puVar12 = uVar17;\n        *(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(lang_statement_list_type **)puVar4 = place;\n        *(undefined4 *)puVar18 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar7 = *(uint *)puVar20;\n        puVar11 = *(undefined **)(puVar19 + -0x4fc4);\n        *(undefined4 *)puVar18 = 0;\n        *(undefined4 *)(puVar20 + 4) = local_34;\n        subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_);\n        puVar10 = PTR_DAT_001db8f8 + -0x3b98;\n        *(bfd **)puVar20 = subsbfd;\n        puVar20 = PTR_fclose_001dbec0;\n        puVar18 = PTR_yyin_001dbb64;\n        if (puVar11 <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n          pop_stat_ptr();\n        }\n        uVar17 = *(undefined4 *)(puVar11 + -4);\n        *(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4;\n        *(undefined4 *)puVar4 = uVar17;\n        (*(code *)puVar20)(*(undefined4 *)puVar18);\n        *(undefined4 *)puVar18 = 0;\n        *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n      }\n    }\n    else {\n      bVar6 = ldemul_recognized_file(entry);\n      if (bVar6 == 0) {\n        pbVar16 = entry->the_bfd;\n        uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;\n        if (uVar7 == 1) {\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }\n        else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }\n        bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);\n        if (bVar6 != 0) {\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }\n        pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);\n        einfo(pcVar14,entry->the_bfd);\n        return (uint)(*(int *)&entry->flags << 9) >> 0x1f;\n      }\n    }\n  }" if (parenthesized_expression "((((ulonglong)entry->flags & 0x40000000000000) == 0) &&\n     (ldfile_open_file(entry), ((ulonglong)entry->flags & 0x10000000000000) == 0))" ( (binary_expression "(((ulonglong)entry->flags & 0x40000000000000) == 0) &&\n     (ldfile_open_file(entry), ((ulonglong)entry->flags & 0x10000000000000) == 0)" (parenthesized_expression "(((ulonglong)entry->flags & 0x40000000000000) == 0)" ( (binary_expression "((ulonglong)entry->flags & 0x40000000000000) == 0" (parenthesized_expression "((ulonglong)entry->flags & 0x40000000000000)" ( (binary_expression "(ulonglong)entry->flags & 0x40000000000000" (cast_expression "(ulonglong)entry->flags" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "entry->flags" identifier -> field_identifier)) & number_literal) )) == number_literal) )) && (parenthesized_expression "(ldfile_open_file(entry), ((ulonglong)entry->flags & 0x10000000000000) == 0)" ( (comma_expression "ldfile_open_file(entry), ((ulonglong)entry->flags & 0x10000000000000) == 0" (call_expression "ldfile_open_file(entry)" identifier (argument_list "(entry)" ( identifier ))) , (binary_expression "((ulonglong)entry->flags & 0x10000000000000) == 0" (parenthesized_expression "((ulonglong)entry->flags & 0x10000000000000)" ( (binary_expression "(ulonglong)entry->flags & 0x10000000000000" (cast_expression "(ulonglong)entry->flags" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "entry->flags" identifier -> field_identifier)) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n    iVar5 = (*(code *)PTR_bfd_check_format_001dbe7c)(entry->the_bfd,2);\n    if ((iVar5 == 0) &&\n       (iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),\n       iVar5 == 0)) {\n      iVar5 = (*(code *)PTR_bfd_get_error_001dc048)();\n      bVar6 = ldemul_unrecognized_file(entry);\n      if (bVar6 == 0) {\n        if (iVar5 == 0xd) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);\n          einfo(pcVar14,entry->the_bfd);\n          if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }\n          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);\n        }\n        else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }\n        puVar20 = PTR_input_flags_001dba44;\n        puVar19 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd);\n        pbVar16 = *(bfd **)puVar20;\n        local_34 = *(undefined4 *)(puVar20 + 4);\n        new_ptr = (lang_statement_list_type *)entry->filename;\n        entry->the_bfd = (bfd *)0x0;\n        subsbfd = pbVar16;\n        ldfile_open_command_file((char *)new_ptr);\n        puVar4 = PTR_stat_ptr_001dbbf8;\n        puVar18 = PTR_ldfile_assumed_script_001dba1c;\n        puVar12 = *(undefined4 **)(puVar19 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar12) {\n                    /* WARNING: Subroutine does not return */\n          push_stat_ptr(new_ptr);\n        }\n        uVar1 = *(ushort *)puVar20;\n        uVar2 = *(ushort *)&entry->flags;\n        uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1;\n        *puVar12 = uVar17;\n        *(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(lang_statement_list_type **)puVar4 = place;\n        *(undefined4 *)puVar18 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar7 = *(uint *)puVar20;\n        puVar11 = *(undefined **)(puVar19 + -0x4fc4);\n        *(undefined4 *)puVar18 = 0;\n        *(undefined4 *)(puVar20 + 4) = local_34;\n        subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_);\n        puVar10 = PTR_DAT_001db8f8 + -0x3b98;\n        *(bfd **)puVar20 = subsbfd;\n        puVar20 = PTR_fclose_001dbec0;\n        puVar18 = PTR_yyin_001dbb64;\n        if (puVar11 <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n          pop_stat_ptr();\n        }\n        uVar17 = *(undefined4 *)(puVar11 + -4);\n        *(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4;\n        *(undefined4 *)puVar4 = uVar17;\n        (*(code *)puVar20)(*(undefined4 *)puVar18);\n        *(undefined4 *)puVar18 = 0;\n        *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n      }\n    }\n    else {\n      bVar6 = ldemul_recognized_file(entry);\n      if (bVar6 == 0) {\n        pbVar16 = entry->the_bfd;\n        uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;\n        if (uVar7 == 1) {\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }\n        else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }\n        bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);\n        if (bVar6 != 0) {\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }\n        pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);\n        einfo(pcVar14,entry->the_bfd);\n        return (uint)(*(int *)&entry->flags << 9) >> 0x1f;\n      }\n    }\n  }" { (expression_statement "iVar5 = (*(code *)PTR_bfd_check_format_001dbe7c)(entry->the_bfd,2);" (assignment_expression "iVar5 = (*(code *)PTR_bfd_check_format_001dbe7c)(entry->the_bfd,2)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_001dbe7c)(entry->the_bfd,2)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_001dbe7c)" ( (pointer_expression "*(code *)PTR_bfd_check_format_001dbe7c" * (cast_expression "(code *)PTR_bfd_check_format_001dbe7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(entry->the_bfd,2)" ( (field_expression "entry->the_bfd" identifier -> field_identifier) , number_literal )))) ;) (if_statement "if ((iVar5 == 0) &&\n       (iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),\n       iVar5 == 0)) {\n      iVar5 = (*(code *)PTR_bfd_get_error_001dc048)();\n      bVar6 = ldemul_unrecognized_file(entry);\n      if (bVar6 == 0) {\n        if (iVar5 == 0xd) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);\n          einfo(pcVar14,entry->the_bfd);\n          if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }\n          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);\n        }\n        else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }\n        puVar20 = PTR_input_flags_001dba44;\n        puVar19 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd);\n        pbVar16 = *(bfd **)puVar20;\n        local_34 = *(undefined4 *)(puVar20 + 4);\n        new_ptr = (lang_statement_list_type *)entry->filename;\n        entry->the_bfd = (bfd *)0x0;\n        subsbfd = pbVar16;\n        ldfile_open_command_file((char *)new_ptr);\n        puVar4 = PTR_stat_ptr_001dbbf8;\n        puVar18 = PTR_ldfile_assumed_script_001dba1c;\n        puVar12 = *(undefined4 **)(puVar19 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar12) {\n                    /* WARNING: Subroutine does not return */\n          push_stat_ptr(new_ptr);\n        }\n        uVar1 = *(ushort *)puVar20;\n        uVar2 = *(ushort *)&entry->flags;\n        uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1;\n        *puVar12 = uVar17;\n        *(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(lang_statement_list_type **)puVar4 = place;\n        *(undefined4 *)puVar18 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar7 = *(uint *)puVar20;\n        puVar11 = *(undefined **)(puVar19 + -0x4fc4);\n        *(undefined4 *)puVar18 = 0;\n        *(undefined4 *)(puVar20 + 4) = local_34;\n        subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_);\n        puVar10 = PTR_DAT_001db8f8 + -0x3b98;\n        *(bfd **)puVar20 = subsbfd;\n        puVar20 = PTR_fclose_001dbec0;\n        puVar18 = PTR_yyin_001dbb64;\n        if (puVar11 <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n          pop_stat_ptr();\n        }\n        uVar17 = *(undefined4 *)(puVar11 + -4);\n        *(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4;\n        *(undefined4 *)puVar4 = uVar17;\n        (*(code *)puVar20)(*(undefined4 *)puVar18);\n        *(undefined4 *)puVar18 = 0;\n        *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n      }\n    }\n    else {\n      bVar6 = ldemul_recognized_file(entry);\n      if (bVar6 == 0) {\n        pbVar16 = entry->the_bfd;\n        uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;\n        if (uVar7 == 1) {\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }\n        else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }\n        bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);\n        if (bVar6 != 0) {\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }\n        pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);\n        einfo(pcVar14,entry->the_bfd);\n        return (uint)(*(int *)&entry->flags << 9) >> 0x1f;\n      }\n    }" if (parenthesized_expression "((iVar5 == 0) &&\n       (iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),\n       iVar5 == 0))" ( (binary_expression "(iVar5 == 0) &&\n       (iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),\n       iVar5 == 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),\n       iVar5 == 0)" ( (comma_expression "iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),\n       iVar5 == 0" (assignment_expression "iVar5 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_001dbeb8)" ( (pointer_expression "*(code *)PTR_bfd_check_format_matches_001dbeb8" * (cast_expression "(code *)PTR_bfd_check_format_matches_001dbeb8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(entry->the_bfd,1,&matching)" ( (field_expression "entry->the_bfd" identifier -> field_identifier) , number_literal , (pointer_expression "&matching" & identifier) )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar5 = (*(code *)PTR_bfd_get_error_001dc048)();\n      bVar6 = ldemul_unrecognized_file(entry);\n      if (bVar6 == 0) {\n        if (iVar5 == 0xd) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);\n          einfo(pcVar14,entry->the_bfd);\n          if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }\n          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);\n        }\n        else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }\n        puVar20 = PTR_input_flags_001dba44;\n        puVar19 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd);\n        pbVar16 = *(bfd **)puVar20;\n        local_34 = *(undefined4 *)(puVar20 + 4);\n        new_ptr = (lang_statement_list_type *)entry->filename;\n        entry->the_bfd = (bfd *)0x0;\n        subsbfd = pbVar16;\n        ldfile_open_command_file((char *)new_ptr);\n        puVar4 = PTR_stat_ptr_001dbbf8;\n        puVar18 = PTR_ldfile_assumed_script_001dba1c;\n        puVar12 = *(undefined4 **)(puVar19 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar12) {\n                    /* WARNING: Subroutine does not return */\n          push_stat_ptr(new_ptr);\n        }\n        uVar1 = *(ushort *)puVar20;\n        uVar2 = *(ushort *)&entry->flags;\n        uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1;\n        *puVar12 = uVar17;\n        *(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(lang_statement_list_type **)puVar4 = place;\n        *(undefined4 *)puVar18 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar7 = *(uint *)puVar20;\n        puVar11 = *(undefined **)(puVar19 + -0x4fc4);\n        *(undefined4 *)puVar18 = 0;\n        *(undefined4 *)(puVar20 + 4) = local_34;\n        subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_);\n        puVar10 = PTR_DAT_001db8f8 + -0x3b98;\n        *(bfd **)puVar20 = subsbfd;\n        puVar20 = PTR_fclose_001dbec0;\n        puVar18 = PTR_yyin_001dbb64;\n        if (puVar11 <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n          pop_stat_ptr();\n        }\n        uVar17 = *(undefined4 *)(puVar11 + -4);\n        *(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4;\n        *(undefined4 *)puVar4 = uVar17;\n        (*(code *)puVar20)(*(undefined4 *)puVar18);\n        *(undefined4 *)puVar18 = 0;\n        *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n      }\n    }" { (expression_statement "iVar5 = (*(code *)PTR_bfd_get_error_001dc048)();" (assignment_expression "iVar5 = (*(code *)PTR_bfd_get_error_001dc048)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_001dc048)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_001dc048)" ( (pointer_expression "*(code *)PTR_bfd_get_error_001dc048" * (cast_expression "(code *)PTR_bfd_get_error_001dc048" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "bVar6 = ldemul_unrecognized_file(entry);" (assignment_expression "bVar6 = ldemul_unrecognized_file(entry)" identifier = (call_expression "ldemul_unrecognized_file(entry)" identifier (argument_list "(entry)" ( identifier )))) ;) (if_statement "if (bVar6 == 0) {\n        if (iVar5 == 0xd) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);\n          einfo(pcVar14,entry->the_bfd);\n          if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }\n          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);\n        }\n        else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }\n        puVar20 = PTR_input_flags_001dba44;\n        puVar19 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd);\n        pbVar16 = *(bfd **)puVar20;\n        local_34 = *(undefined4 *)(puVar20 + 4);\n        new_ptr = (lang_statement_list_type *)entry->filename;\n        entry->the_bfd = (bfd *)0x0;\n        subsbfd = pbVar16;\n        ldfile_open_command_file((char *)new_ptr);\n        puVar4 = PTR_stat_ptr_001dbbf8;\n        puVar18 = PTR_ldfile_assumed_script_001dba1c;\n        puVar12 = *(undefined4 **)(puVar19 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar12) {\n                    /* WARNING: Subroutine does not return */\n          push_stat_ptr(new_ptr);\n        }\n        uVar1 = *(ushort *)puVar20;\n        uVar2 = *(ushort *)&entry->flags;\n        uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1;\n        *puVar12 = uVar17;\n        *(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(lang_statement_list_type **)puVar4 = place;\n        *(undefined4 *)puVar18 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar7 = *(uint *)puVar20;\n        puVar11 = *(undefined **)(puVar19 + -0x4fc4);\n        *(undefined4 *)puVar18 = 0;\n        *(undefined4 *)(puVar20 + 4) = local_34;\n        subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_);\n        puVar10 = PTR_DAT_001db8f8 + -0x3b98;\n        *(bfd **)puVar20 = subsbfd;\n        puVar20 = PTR_fclose_001dbec0;\n        puVar18 = PTR_yyin_001dbb64;\n        if (puVar11 <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n          pop_stat_ptr();\n        }\n        uVar17 = *(undefined4 *)(puVar11 + -4);\n        *(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4;\n        *(undefined4 *)puVar4 = uVar17;\n        (*(code *)puVar20)(*(undefined4 *)puVar18);\n        *(undefined4 *)puVar18 = 0;\n        *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0)" ( (binary_expression "bVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        if (iVar5 == 0xd) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);\n          einfo(pcVar14,entry->the_bfd);\n          if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }\n          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);\n        }\n        else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }\n        puVar20 = PTR_input_flags_001dba44;\n        puVar19 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd);\n        pbVar16 = *(bfd **)puVar20;\n        local_34 = *(undefined4 *)(puVar20 + 4);\n        new_ptr = (lang_statement_list_type *)entry->filename;\n        entry->the_bfd = (bfd *)0x0;\n        subsbfd = pbVar16;\n        ldfile_open_command_file((char *)new_ptr);\n        puVar4 = PTR_stat_ptr_001dbbf8;\n        puVar18 = PTR_ldfile_assumed_script_001dba1c;\n        puVar12 = *(undefined4 **)(puVar19 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar12) {\n                    /* WARNING: Subroutine does not return */\n          push_stat_ptr(new_ptr);\n        }\n        uVar1 = *(ushort *)puVar20;\n        uVar2 = *(ushort *)&entry->flags;\n        uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1;\n        *puVar12 = uVar17;\n        *(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(lang_statement_list_type **)puVar4 = place;\n        *(undefined4 *)puVar18 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar7 = *(uint *)puVar20;\n        puVar11 = *(undefined **)(puVar19 + -0x4fc4);\n        *(undefined4 *)puVar18 = 0;\n        *(undefined4 *)(puVar20 + 4) = local_34;\n        subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_);\n        puVar10 = PTR_DAT_001db8f8 + -0x3b98;\n        *(bfd **)puVar20 = subsbfd;\n        puVar20 = PTR_fclose_001dbec0;\n        puVar18 = PTR_yyin_001dbb64;\n        if (puVar11 <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n          pop_stat_ptr();\n        }\n        uVar17 = *(undefined4 *)(puVar11 + -4);\n        *(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4;\n        *(undefined4 *)puVar4 = uVar17;\n        (*(code *)puVar20)(*(undefined4 *)puVar18);\n        *(undefined4 *)puVar18 = 0;\n        *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n      }" { (if_statement "if (iVar5 == 0xd) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);\n          einfo(pcVar14,entry->the_bfd);\n          if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }\n          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);\n        }\n        else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }" if (parenthesized_expression "(iVar5 == 0xd)" ( (binary_expression "iVar5 == 0xd" identifier == number_literal) )) (compound_statement "{\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);\n          einfo(pcVar14,entry->the_bfd);\n          if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }\n          einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);\n        }" { (expression_statement "pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5);" (assignment_expression "pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4b84,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_yy_accept_1428__001db910 + 0x4b84,5)" ( number_literal , (binary_expression "PTR_yy_accept_1428__001db910 + 0x4b84" identifier + number_literal) , number_literal ))))) ;) (expression_statement "einfo(pcVar14,entry->the_bfd);" (call_expression "einfo(pcVar14,entry->the_bfd)" identifier (argument_list "(pcVar14,entry->the_bfd)" ( identifier , (field_expression "entry->the_bfd" identifier -> field_identifier) ))) ;) (if_statement "if (*matching != (char *)0x0) {\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }" if (parenthesized_expression "(*matching != (char *)0x0)" ( (binary_expression "*matching != (char *)0x0" (pointer_expression "*matching" * identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;\n            ppcVar15 = matching;\n            do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);\n          }" { (expression_statement "pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4;" (assignment_expression "pcVar14 = PTR_yy_accept_1428__001db910 + 0x4e4" identifier = (binary_expression "PTR_yy_accept_1428__001db910 + 0x4e4" identifier + number_literal)) ;) (expression_statement "ppcVar15 = matching;" (assignment_expression "ppcVar15 = matching" identifier = identifier) ;) (do_statement "do {\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            } while (*ppcVar15 != (char *)0x0);" do (compound_statement "{\n              ppcVar15 = ppcVar15 + 1;\n              einfo(pcVar14);\n            }" { (expression_statement "ppcVar15 = ppcVar15 + 1;" (assignment_expression "ppcVar15 = ppcVar15 + 1" identifier = (binary_expression "ppcVar15 + 1" identifier + number_literal)) ;) (expression_statement "einfo(pcVar14);" (call_expression "einfo(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) }) while (parenthesized_expression "(*ppcVar15 != (char *)0x0)" ( (binary_expression "*ppcVar15 != (char *)0x0" (pointer_expression "*ppcVar15" * identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "einfo(PTR_yy_accept_1428__001db910 + 0x4bb8);" (call_expression "einfo(PTR_yy_accept_1428__001db910 + 0x4bb8)" identifier (argument_list "(PTR_yy_accept_1428__001db910 + 0x4bb8)" ( (binary_expression "PTR_yy_accept_1428__001db910 + 0x4bb8" identifier + number_literal) ))) ;) }) (else_clause "else if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }" else (if_statement "if ((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)) {\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }" if (parenthesized_expression "((iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0))" ( (binary_expression "(iVar5 != 0xc) || (place == (lang_statement_list_type *)0x0)" (parenthesized_expression "(iVar5 != 0xc)" ( (binary_expression "iVar5 != 0xc" identifier != number_literal) )) || (parenthesized_expression "(place == (lang_statement_list_type *)0x0)" ( (binary_expression "place == (lang_statement_list_type *)0x0" identifier == (cast_expression "(lang_statement_list_type *)0x0" ( (type_descriptor "lang_statement_list_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);\n          einfo(pcVar14,entry->the_bfd);\n        }" { (expression_statement "pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5);" (assignment_expression "pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_001dc0a4)\n                                      (0,PTR_yy_accept_1428__001db910 + 0x4bbc,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_yy_accept_1428__001db910 + 0x4bbc,5)" ( number_literal , (binary_expression "PTR_yy_accept_1428__001db910 + 0x4bbc" identifier + number_literal) , number_literal ))))) ;) (expression_statement "einfo(pcVar14,entry->the_bfd);" (call_expression "einfo(pcVar14,entry->the_bfd)" identifier (argument_list "(pcVar14,entry->the_bfd)" ( identifier , (field_expression "entry->the_bfd" identifier -> field_identifier) ))) ;) })))) (expression_statement "puVar20 = PTR_input_flags_001dba44;" (assignment_expression "puVar20 = PTR_input_flags_001dba44" identifier = identifier) ;) (expression_statement "puVar19 = PTR_DAT_001db8f8;" (assignment_expression "puVar19 = PTR_DAT_001db8f8" identifier = identifier) ;) (expression_statement "(*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd);" (call_expression "(*(code *)PTR_bfd_close_001dbecc)(entry->the_bfd)" (parenthesized_expression "(*(code *)PTR_bfd_close_001dbecc)" ( (pointer_expression "*(code *)PTR_bfd_close_001dbecc" * (cast_expression "(code *)PTR_bfd_close_001dbecc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(entry->the_bfd)" ( (field_expression "entry->the_bfd" identifier -> field_identifier) ))) ;) (expression_statement "pbVar16 = *(bfd **)puVar20;" (assignment_expression "pbVar16 = *(bfd **)puVar20" identifier = (pointer_expression "*(bfd **)puVar20" * (cast_expression "(bfd **)puVar20" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "local_34 = *(undefined4 *)(puVar20 + 4);" (assignment_expression "local_34 = *(undefined4 *)(puVar20 + 4)" identifier = (pointer_expression "*(undefined4 *)(puVar20 + 4)" * (cast_expression "(undefined4 *)(puVar20 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 4)" ( (binary_expression "puVar20 + 4" identifier + number_literal) ))))) ;) (expression_statement "new_ptr = (lang_statement_list_type *)entry->filename;" (assignment_expression "new_ptr = (lang_statement_list_type *)entry->filename" identifier = (cast_expression "(lang_statement_list_type *)entry->filename" ( (type_descriptor "lang_statement_list_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "entry->filename" identifier -> field_identifier))) ;) (expression_statement "entry->the_bfd = (bfd *)0x0;" (assignment_expression "entry->the_bfd = (bfd *)0x0" (field_expression "entry->the_bfd" identifier -> field_identifier) = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "subsbfd = pbVar16;" (assignment_expression "subsbfd = pbVar16" identifier = identifier) ;) (expression_statement "ldfile_open_command_file((char *)new_ptr);" (call_expression "ldfile_open_command_file((char *)new_ptr)" identifier (argument_list "((char *)new_ptr)" ( (cast_expression "(char *)new_ptr" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "puVar4 = PTR_stat_ptr_001dbbf8;" (assignment_expression "puVar4 = PTR_stat_ptr_001dbbf8" identifier = identifier) ;) (expression_statement "puVar18 = PTR_ldfile_assumed_script_001dba1c;" (assignment_expression "puVar18 = PTR_ldfile_assumed_script_001dba1c" identifier = identifier) ;) (expression_statement "puVar12 = *(undefined4 **)(puVar19 + -0x4fc4);" (assignment_expression "puVar12 = *(undefined4 **)(puVar19 + -0x4fc4)" identifier = (pointer_expression "*(undefined4 **)(puVar19 + -0x4fc4)" * (cast_expression "(undefined4 **)(puVar19 + -0x4fc4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x4fc4)" ( (binary_expression "puVar19 + -0x4fc4" identifier + number_literal) ))))) ;) (if_statement "if (PTR_DAT_001db8f8 + -0x3b70 <= puVar12) {\n                    /* WARNING: Subroutine does not return */\n          push_stat_ptr(new_ptr);\n        }" if (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3b70 <= puVar12)" ( (binary_expression "PTR_DAT_001db8f8 + -0x3b70 <= puVar12" (binary_expression "PTR_DAT_001db8f8 + -0x3b70" identifier + number_literal) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          push_stat_ptr(new_ptr);\n        }" { comment (expression_statement "push_stat_ptr(new_ptr);" (call_expression "push_stat_ptr(new_ptr)" identifier (argument_list "(new_ptr)" ( identifier ))) ;) })) (expression_statement "uVar1 = *(ushort *)puVar20;" (assignment_expression "uVar1 = *(ushort *)puVar20" identifier = (pointer_expression "*(ushort *)puVar20" * (cast_expression "(ushort *)puVar20" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar2 = *(ushort *)&entry->flags;" (assignment_expression "uVar2 = *(ushort *)&entry->flags" identifier = (pointer_expression "*(ushort *)&entry->flags" * (cast_expression "(ushort *)&entry->flags" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&entry->flags" & (field_expression "entry->flags" identifier -> field_identifier))))) ;) (expression_statement "uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8;" (assignment_expression "uVar17 = *(undefined4 *)PTR_stat_ptr_001dbbf8" identifier = (pointer_expression "*(undefined4 *)PTR_stat_ptr_001dbbf8" * (cast_expression "(undefined4 *)PTR_stat_ptr_001dbbf8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1;" (assignment_expression "*(undefined4 **)(puVar19 + -0x4fc4) = puVar12 + 1" (pointer_expression "*(undefined4 **)(puVar19 + -0x4fc4)" * (cast_expression "(undefined4 **)(puVar19 + -0x4fc4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x4fc4)" ( (binary_expression "puVar19 + -0x4fc4" identifier + number_literal) )))) = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "*puVar12 = uVar17;" (assignment_expression "*puVar12 = uVar17" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "*(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780;" (assignment_expression "*(ushort *)puVar20 = uVar1 & 0xf87f | uVar2 & 0x780" (pointer_expression "*(ushort *)puVar20" * (cast_expression "(ushort *)puVar20" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar1 & 0xf87f | uVar2 & 0x780" (binary_expression "uVar1 & 0xf87f" identifier & number_literal) | (binary_expression "uVar2 & 0x780" identifier & number_literal))) ;) (expression_statement "*(lang_statement_list_type **)puVar4 = place;" (assignment_expression "*(lang_statement_list_type **)puVar4 = place" (pointer_expression "*(lang_statement_list_type **)puVar4" * (cast_expression "(lang_statement_list_type **)puVar4" ( (type_descriptor "lang_statement_list_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)puVar18 = 1;" (assignment_expression "*(undefined4 *)puVar18 = 1" (pointer_expression "*(undefined4 *)puVar18" * (cast_expression "(undefined4 *)puVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)PTR_parser_input_001dba00 = 1;" (assignment_expression "*(undefined4 *)PTR_parser_input_001dba00 = 1" (pointer_expression "*(undefined4 *)PTR_parser_input_001dba00" * (cast_expression "(undefined4 *)PTR_parser_input_001dba00" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "yyparse();" (call_expression "yyparse()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar7 = *(uint *)puVar20;" (assignment_expression "uVar7 = *(uint *)puVar20" identifier = (pointer_expression "*(uint *)puVar20" * (cast_expression "(uint *)puVar20" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar11 = *(undefined **)(puVar19 + -0x4fc4);" (assignment_expression "puVar11 = *(undefined **)(puVar19 + -0x4fc4)" identifier = (pointer_expression "*(undefined **)(puVar19 + -0x4fc4)" * (cast_expression "(undefined **)(puVar19 + -0x4fc4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x4fc4)" ( (binary_expression "puVar19 + -0x4fc4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)puVar18 = 0;" (assignment_expression "*(undefined4 *)puVar18 = 0" (pointer_expression "*(undefined4 *)puVar18" * (cast_expression "(undefined4 *)puVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + 4) = local_34;" (assignment_expression "*(undefined4 *)(puVar20 + 4) = local_34" (pointer_expression "*(undefined4 *)(puVar20 + 4)" * (cast_expression "(undefined4 *)(puVar20 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 4)" ( (binary_expression "puVar20 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_);" (assignment_expression "subsbfd = (bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_)" identifier = (cast_expression "(bfd *)CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT22(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_)" identifier (argument_list "(subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4),\n                                  subsbfd._2_2_)" ( (binary_expression "subsbfd._0_2_ & 0xffef |\n                                  (ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4)" (binary_expression "subsbfd._0_2_ & 0xffef" (field_expression "subsbfd._0_2_" identifier . field_identifier) & number_literal) | (call_expression "(ushort)(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4)" ( (binary_expression "((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f) << 4" (parenthesized_expression "((((uint)pbVar16 | uVar7) << 0xb) >> 0x1f)" ( (binary_expression "(((uint)pbVar16 | uVar7) << 0xb) >> 0x1f" (parenthesized_expression "(((uint)pbVar16 | uVar7) << 0xb)" ( (binary_expression "((uint)pbVar16 | uVar7) << 0xb" (parenthesized_expression "((uint)pbVar16 | uVar7)" ( (binary_expression "(uint)pbVar16 | uVar7" (cast_expression "(uint)pbVar16" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )) << number_literal) )) >> number_literal) )) << number_literal) )))) , (field_expression "subsbfd._2_2_" identifier . field_identifier) ))))) ;) (expression_statement "puVar10 = PTR_DAT_001db8f8 + -0x3b98;" (assignment_expression "puVar10 = PTR_DAT_001db8f8 + -0x3b98" identifier = (binary_expression "PTR_DAT_001db8f8 + -0x3b98" identifier + number_literal)) ;) (expression_statement "*(bfd **)puVar20 = subsbfd;" (assignment_expression "*(bfd **)puVar20 = subsbfd" (pointer_expression "*(bfd **)puVar20" * (cast_expression "(bfd **)puVar20" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "puVar20 = PTR_fclose_001dbec0;" (assignment_expression "puVar20 = PTR_fclose_001dbec0" identifier = identifier) ;) (expression_statement "puVar18 = PTR_yyin_001dbb64;" (assignment_expression "puVar18 = PTR_yyin_001dbb64" identifier = identifier) ;) (if_statement "if (puVar11 <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n          pop_stat_ptr();\n        }" if (parenthesized_expression "(puVar11 <= puVar10)" ( (binary_expression "puVar11 <= puVar10" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          pop_stat_ptr();\n        }" { comment (expression_statement "pop_stat_ptr();" (call_expression "pop_stat_ptr()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar17 = *(undefined4 *)(puVar11 + -4);" (assignment_expression "uVar17 = *(undefined4 *)(puVar11 + -4)" identifier = (pointer_expression "*(undefined4 *)(puVar11 + -4)" * (cast_expression "(undefined4 *)(puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -4)" ( (binary_expression "puVar11 + -4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4;" (assignment_expression "*(undefined **)(puVar19 + -0x4fc4) = puVar11 + -4" (pointer_expression "*(undefined **)(puVar19 + -0x4fc4)" * (cast_expression "(undefined **)(puVar19 + -0x4fc4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x4fc4)" ( (binary_expression "puVar19 + -0x4fc4" identifier + number_literal) )))) = (binary_expression "puVar11 + -4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)puVar4 = uVar17;" (assignment_expression "*(undefined4 *)puVar4 = uVar17" (pointer_expression "*(undefined4 *)puVar4" * (cast_expression "(undefined4 *)puVar4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "(*(code *)puVar20)(*(undefined4 *)puVar18);" (call_expression "(*(code *)puVar20)(*(undefined4 *)puVar18)" (parenthesized_expression "(*(code *)puVar20)" ( (pointer_expression "*(code *)puVar20" * (cast_expression "(code *)puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar18)" ( (pointer_expression "*(undefined4 *)puVar18" * (cast_expression "(undefined4 *)puVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "*(undefined4 *)puVar18 = 0;" (assignment_expression "*(undefined4 *)puVar18 = 0" (pointer_expression "*(undefined4 *)puVar18" * (cast_expression "(undefined4 *)puVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;" (assignment_expression "*(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40" (pointer_expression "*(ushort *)&entry->flags" * (cast_expression "(ushort *)&entry->flags" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&entry->flags" & (field_expression "entry->flags" identifier -> field_identifier)))) = (binary_expression "*(ushort *)&entry->flags & 0xffbf | 0x40" (binary_expression "*(ushort *)&entry->flags & 0xffbf" (pointer_expression "*(ushort *)&entry->flags" * (cast_expression "(ushort *)&entry->flags" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&entry->flags" & (field_expression "entry->flags" identifier -> field_identifier)))) & number_literal) | number_literal)) ;) })) }) (else_clause "else {\n      bVar6 = ldemul_recognized_file(entry);\n      if (bVar6 == 0) {\n        pbVar16 = entry->the_bfd;\n        uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;\n        if (uVar7 == 1) {\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }\n        else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }\n        bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);\n        if (bVar6 != 0) {\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }\n        pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);\n        einfo(pcVar14,entry->the_bfd);\n        return (uint)(*(int *)&entry->flags << 9) >> 0x1f;\n      }\n    }" else (compound_statement "{\n      bVar6 = ldemul_recognized_file(entry);\n      if (bVar6 == 0) {\n        pbVar16 = entry->the_bfd;\n        uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;\n        if (uVar7 == 1) {\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }\n        else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }\n        bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);\n        if (bVar6 != 0) {\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }\n        pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);\n        einfo(pcVar14,entry->the_bfd);\n        return (uint)(*(int *)&entry->flags << 9) >> 0x1f;\n      }\n    }" { (expression_statement "bVar6 = ldemul_recognized_file(entry);" (assignment_expression "bVar6 = ldemul_recognized_file(entry)" identifier = (call_expression "ldemul_recognized_file(entry)" identifier (argument_list "(entry)" ( identifier )))) ;) (if_statement "if (bVar6 == 0) {\n        pbVar16 = entry->the_bfd;\n        uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;\n        if (uVar7 == 1) {\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }\n        else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }\n        bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);\n        if (bVar6 != 0) {\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }\n        pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);\n        einfo(pcVar14,entry->the_bfd);\n        return (uint)(*(int *)&entry->flags << 9) >> 0x1f;\n      }" if (parenthesized_expression "(bVar6 == 0)" ( (binary_expression "bVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        pbVar16 = entry->the_bfd;\n        uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;\n        if (uVar7 == 1) {\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }\n        else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }\n        bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);\n        if (bVar6 != 0) {\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }\n        pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);\n        einfo(pcVar14,entry->the_bfd);\n        return (uint)(*(int *)&entry->flags << 9) >> 0x1f;\n      }" { (expression_statement "pbVar16 = entry->the_bfd;" (assignment_expression "pbVar16 = entry->the_bfd" identifier = (field_expression "entry->the_bfd" identifier -> field_identifier)) ;) (expression_statement "uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d;" (assignment_expression "uVar7 = *(uint *)&pbVar16->field_0x28 >> 0x1d" identifier = (binary_expression "*(uint *)&pbVar16->field_0x28 >> 0x1d" (pointer_expression "*(uint *)&pbVar16->field_0x28" * (cast_expression "(uint *)&pbVar16->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar16->field_0x28" & (field_expression "pbVar16->field_0x28" identifier -> field_identifier)))) >> number_literal)) ;) (if_statement "if (uVar7 == 1) {\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }\n        else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }" if (parenthesized_expression "(uVar7 == 1)" ( (binary_expression "uVar7 == 1" identifier == number_literal) )) (compound_statement "{\n          if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }\n          pbVar16 = entry->the_bfd;\n        }" { (if_statement "if (((ulonglong)entry->flags & 0x8000000000000) == 0) {\n            ldlang_add_file(entry);\n          }" if (parenthesized_expression "(((ulonglong)entry->flags & 0x8000000000000) == 0)" ( (binary_expression "((ulonglong)entry->flags & 0x8000000000000) == 0" (parenthesized_expression "((ulonglong)entry->flags & 0x8000000000000)" ( (binary_expression "(ulonglong)entry->flags & 0x8000000000000" (cast_expression "(ulonglong)entry->flags" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "entry->flags" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n            ldlang_add_file(entry);\n          }" { (expression_statement "ldlang_add_file(entry);" (call_expression "ldlang_add_file(entry)" identifier (argument_list "(entry)" ( identifier ))) ;) })) (if_statement "if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }" if (parenthesized_expression "(*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0)" ( (binary_expression "*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0" (binary_expression "*(int *)PTR_trace_files_001db94c != 0" (pointer_expression "*(int *)PTR_trace_files_001db94c" * (cast_expression "(int *)PTR_trace_files_001db94c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) || (binary_expression "*(int *)PTR_verbose_001db950 != 0" (pointer_expression "*(int *)PTR_verbose_001db950" * (cast_expression "(int *)PTR_verbose_001db950" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal)) )) (compound_statement "{\n            info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);\n          }" { (expression_statement "info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry);" (call_expression "info_msg(PTR_yy_accept_1428__001db910 + 0x4be0,entry)" identifier (argument_list "(PTR_yy_accept_1428__001db910 + 0x4be0,entry)" ( (binary_expression "PTR_yy_accept_1428__001db910 + 0x4be0" identifier + number_literal) , identifier ))) ;) })) (expression_statement "pbVar16 = entry->the_bfd;" (assignment_expression "pbVar16 = entry->the_bfd" identifier = (field_expression "entry->the_bfd" identifier -> field_identifier)) ;) }) (else_clause "else if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }" else (if_statement "if (uVar7 == 2) {\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }" if (parenthesized_expression "(uVar7 == 2)" ( (binary_expression "uVar7 == 2" identifier == number_literal) )) (compound_statement "{\n          puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }\nLAB_0002b5f0:\n          lVar3 = entry->flags;\n          pbVar16->usrdata = entry;\n          puVar19 = PTR_yy_accept_1428__001db910;\n          if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }\n        }" { (expression_statement "puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);" (assignment_expression "puVar12 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" identifier = (pointer_expression "*(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" * (cast_expression "(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3bc8)" ( (binary_expression "PTR_DAT_001db8f8 + -0x3bc8" identifier + number_literal) ))))) ;) (if_statement "if (puVar12 != (undefined4 *)0x0) {\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }" if (parenthesized_expression "(puVar12 != (undefined4 *)0x0)" ( (binary_expression "puVar12 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;\n            do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);\n            pbVar16 = entry->the_bfd;\n          }" { (expression_statement "puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8;" (assignment_expression "puVar19 = PTR_yy_accept_1428__001db910 + 0x4be8" identifier = (binary_expression "PTR_yy_accept_1428__001db910 + 0x4be8" identifier + number_literal)) ;) (do_statement "do {\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            } while (puVar12 != (undefined4 *)0x0);" do (compound_statement "{\n              iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);\n              iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);\n              uVar17 = *puVar12;\n              iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);\n              if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }\n              iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);\n              if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar12 = (undefined4 *)puVar12[1];\n            }" { (expression_statement "iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12);" (assignment_expression "iVar5 = (*(code *)PTR_strlen_001dbf90)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename);" (assignment_expression "iVar8 = (*(code *)PTR_lbasename_001dbffc)(pbVar16->filename)" identifier = (call_expression "(*(code *)PTR_lbasename_001dbffc)(pbVar16->filename)" (parenthesized_expression "(*(code *)PTR_lbasename_001dbffc)" ( (pointer_expression "*(code *)PTR_lbasename_001dbffc" * (cast_expression "(code *)PTR_lbasename_001dbffc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar16->filename)" ( (field_expression "pbVar16->filename" identifier -> field_identifier) )))) ;) (expression_statement "uVar17 = *puVar12;" (assignment_expression "uVar17 = *puVar12" identifier = (pointer_expression "*puVar12" * identifier)) ;) (expression_statement "iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19);" (assignment_expression "iVar9 = (*(code *)PTR_strcmp_001dc144)(uVar17,puVar19)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)(uVar17,puVar19)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar17,puVar19)" ( identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;\n                pbVar16 = entry->the_bfd;\n                goto LAB_0002b5f0;\n              }" { (labeled_statement "LAB_0002b5dc:\n                *(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;" statement_identifier : (expression_statement "*(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4;" (assignment_expression "*(uint *)&pbVar16->field_0x28 = *(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4" (pointer_expression "*(uint *)&pbVar16->field_0x28" * (cast_expression "(uint *)&pbVar16->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar16->field_0x28" & (field_expression "pbVar16->field_0x28" identifier -> field_identifier)))) = (binary_expression "*(uint *)&pbVar16->field_0x28 & 0xfffffffb | 4" (binary_expression "*(uint *)&pbVar16->field_0x28 & 0xfffffffb" (pointer_expression "*(uint *)&pbVar16->field_0x28" * (cast_expression "(uint *)&pbVar16->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar16->field_0x28" & (field_expression "pbVar16->field_0x28" identifier -> field_identifier)))) & number_literal) | number_literal)) ;)) (expression_statement "pbVar16 = entry->the_bfd;" (assignment_expression "pbVar16 = entry->the_bfd" identifier = (field_expression "entry->the_bfd" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0002b5f0;" goto statement_identifier ;) })) (expression_statement "iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5);" (assignment_expression "iVar9 = (*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5)" identifier = (call_expression "(*(code *)PTR_filename_ncmp_001dc054)(uVar17,iVar8,iVar5)" (parenthesized_expression "(*(code *)PTR_filename_ncmp_001dc054)" ( (pointer_expression "*(code *)PTR_filename_ncmp_001dc054" * (cast_expression "(code *)PTR_filename_ncmp_001dc054" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar17,iVar8,iVar5)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n                pcVar14 = (char *)(iVar8 + iVar5);\n                if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }" { (expression_statement "pcVar14 = (char *)(iVar8 + iVar5);" (assignment_expression "pcVar14 = (char *)(iVar8 + iVar5)" identifier = (cast_expression "(char *)(iVar8 + iVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar5)" ( (binary_expression "iVar8 + iVar5" identifier + identifier) )))) ;) (if_statement "if ((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))\n                goto LAB_0002b5dc;" if (parenthesized_expression "((*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))" ( (binary_expression "(*pcVar14 == '\0') ||\n                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0')))" (parenthesized_expression "(*pcVar14 == '\0')" ( (binary_expression "*pcVar14 == '\0'" (pointer_expression "*pcVar14" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0')))" ( (parenthesized_expression "((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))" ( (binary_expression "(*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0')" (parenthesized_expression "(*pcVar14 == '.' && (pcVar14[1] == 'a'))" ( (binary_expression "*pcVar14 == '.' && (pcVar14[1] == 'a')" (binary_expression "*pcVar14 == '.'" (pointer_expression "*pcVar14" * identifier) == (char_literal "'.'" ' character ')) && (parenthesized_expression "(pcVar14[1] == 'a')" ( (binary_expression "pcVar14[1] == 'a'" (subscript_expression "pcVar14[1]" identifier [ number_literal ]) == (char_literal "'a'" ' character ')) ))) )) && (parenthesized_expression "(pcVar14[2] == '\0')" ( (binary_expression "pcVar14[2] == '\0'" (subscript_expression "pcVar14[2]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_0002b5dc;" goto statement_identifier ;)) })) (expression_statement "puVar12 = (undefined4 *)puVar12[1];" (assignment_expression "puVar12 = (undefined4 *)puVar12[1]" identifier = (cast_expression "(undefined4 *)puVar12[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[1]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar12 != (undefined4 *)0x0)" ( (binary_expression "puVar12 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pbVar16 = entry->the_bfd;" (assignment_expression "pbVar16 = entry->the_bfd" identifier = (field_expression "entry->the_bfd" identifier -> field_identifier)) ;) })) (labeled_statement "LAB_0002b5f0:\n          lVar3 = entry->flags;" statement_identifier : (expression_statement "lVar3 = entry->flags;" (assignment_expression "lVar3 = entry->flags" identifier = (field_expression "entry->flags" identifier -> field_identifier)) ;)) (expression_statement "pbVar16->usrdata = entry;" (assignment_expression "pbVar16->usrdata = entry" (field_expression "pbVar16->usrdata" identifier -> field_identifier) = identifier) ;) (expression_statement "puVar19 = PTR_yy_accept_1428__001db910;" (assignment_expression "puVar19 = PTR_yy_accept_1428__001db910" identifier = identifier) ;) (if_statement "if (((ulonglong)lVar3 & 0x80000000000000) != 0) {\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }" if (parenthesized_expression "(((ulonglong)lVar3 & 0x80000000000000) != 0)" ( (binary_expression "((ulonglong)lVar3 & 0x80000000000000) != 0" (parenthesized_expression "((ulonglong)lVar3 & 0x80000000000000)" ( (binary_expression "(ulonglong)lVar3 & 0x80000000000000" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            iVar5 = 1;\n            pbVar13 = (bfd *)0x0;\n            puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;\n            puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;\n            while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }\n                    /* WARNING: Subroutine does not return */\n            ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);\n          }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "pbVar13 = (bfd *)0x0;" (assignment_expression "pbVar13 = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec;" (assignment_expression "puVar20 = PTR_yy_accept_1428__001db910 + 0x4bec" identifier = (binary_expression "PTR_yy_accept_1428__001db910 + 0x4bec" identifier + number_literal)) ;) (expression_statement "puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20;" (assignment_expression "puVar18 = PTR_yy_accept_1428__001db910 + 0x4c20" identifier = (binary_expression "PTR_yy_accept_1428__001db910 + 0x4c20" identifier + number_literal)) ;) (while_statement "while( true ) {\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;\n              if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }\n              iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);\n              if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }\n              puVar4 = PTR_link_info_001db928;\n              subsbfd = pbVar13;\n              iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);\n              if (iVar8 == 0) break;\n              bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);\n              if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }\n            }" { (expression_statement "pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)\n              ;" (assignment_expression "pbVar13 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)" identifier = (cast_expression "(bfd *)(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,pbVar13)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)" ( (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_001dbe78" * (cast_expression "(code *)PTR_bfd_openr_next_archived_file_001dbe78" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar16,pbVar13)" ( identifier , identifier ))))) ;) (if_statement "if (pbVar13 == (bfd *)0x0) {\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }" if (parenthesized_expression "(pbVar13 == (bfd *)0x0)" ( (binary_expression "pbVar13 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);\n                return iVar5;\n              }" { (expression_statement "*(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6);" (assignment_expression "*(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6)" (pointer_expression "*(ushort *)&entry->flags" * (cast_expression "(ushort *)&entry->flags" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&entry->flags" & (field_expression "entry->flags" identifier -> field_identifier)))) = (binary_expression "*(ushort *)&entry->flags & 0xffbf | (ushort)(iVar5 << 6)" (binary_expression "*(ushort *)&entry->flags & 0xffbf" (pointer_expression "*(ushort *)&entry->flags" * (cast_expression "(ushort *)&entry->flags" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&entry->flags" & (field_expression "entry->flags" identifier -> field_identifier)))) & number_literal) | (call_expression "(ushort)(iVar5 << 6)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(iVar5 << 6)" ( (binary_expression "iVar5 << 6" identifier << number_literal) ))))) ;) (return_statement "return iVar5;" return identifier ;) })) (expression_statement "iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1);" (assignment_expression "iVar8 = (*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_001dbe7c)(pbVar13,1)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_001dbe7c)" ( (pointer_expression "*(code *)PTR_bfd_check_format_001dbe7c" * (cast_expression "(code *)PTR_bfd_check_format_001dbe7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar13,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);\n                iVar5 = 0;\n                einfo(pcVar14,entry->the_bfd,pbVar13);\n              }" { (expression_statement "pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5);" (assignment_expression "pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,puVar20,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar20,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "einfo(pcVar14,entry->the_bfd,pbVar13);" (call_expression "einfo(pcVar14,entry->the_bfd,pbVar13)" identifier (argument_list "(pcVar14,entry->the_bfd,pbVar13)" ( identifier , (field_expression "entry->the_bfd" identifier -> field_identifier) , identifier ))) ;) })) (expression_statement "puVar4 = PTR_link_info_001db928;" (assignment_expression "puVar4 = PTR_link_info_001db928" identifier = identifier) ;) (expression_statement "subsbfd = pbVar13;" (assignment_expression "subsbfd = pbVar13" identifier = identifier) ;) (expression_statement "iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd);" (assignment_expression "iVar8 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd)" identifier = (call_expression "(*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,pbVar13,puVar18,&subsbfd)" (parenthesized_expression "(*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))" ( (pointer_expression "*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" * (cast_expression "(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" * (pointer_expression "*(undefined4 **)(PTR_link_info_001db928 + 0x1c)" * (cast_expression "(undefined4 **)(PTR_link_info_001db928 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_link_info_001db928 + 0x1c)" ( (binary_expression "PTR_link_info_001db928 + 0x1c" identifier + number_literal) ))))))) )) (argument_list "(PTR_link_info_001db928,pbVar13,puVar18,&subsbfd)" ( identifier , identifier , identifier , (pointer_expression "&subsbfd" & identifier) )))) ;) (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4);" (assignment_expression "bVar6 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4)" identifier = (call_expression "(*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(bfd_link_info *)puVar4)" (parenthesized_expression "(*subsbfd->xvec->_bfd_link_add_symbols)" ( (pointer_expression "*subsbfd->xvec->_bfd_link_add_symbols" * (field_expression "subsbfd->xvec->_bfd_link_add_symbols" (field_expression "subsbfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(subsbfd,(bfd_link_info *)puVar4)" ( identifier , (cast_expression "(bfd_link_info *)puVar4" ( (type_descriptor "bfd_link_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (bVar6 == 0) {\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }\n              else {\n                pbVar16 = entry->the_bfd;\n              }" if (parenthesized_expression "(bVar6 == 0)" ( (binary_expression "bVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar5 = 0;\n                pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);\n                einfo(pcVar14,pbVar13);\n                pbVar16 = entry->the_bfd;\n              }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5);" (assignment_expression "pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,puVar19 + 0x4c30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar19 + 0x4c30,5)" ( number_literal , (binary_expression "puVar19 + 0x4c30" identifier + number_literal) , number_literal ))))) ;) (expression_statement "einfo(pcVar14,pbVar13);" (call_expression "einfo(pcVar14,pbVar13)" identifier (argument_list "(pcVar14,pbVar13)" ( identifier , identifier ))) ;) (expression_statement "pbVar16 = entry->the_bfd;" (assignment_expression "pbVar16 = entry->the_bfd" identifier = (field_expression "entry->the_bfd" identifier -> field_identifier)) ;) }) (else_clause "else {\n                pbVar16 = entry->the_bfd;\n              }" else (compound_statement "{\n                pbVar16 = entry->the_bfd;\n              }" { (expression_statement "pbVar16 = entry->the_bfd;" (assignment_expression "pbVar16 = entry->the_bfd" identifier = (field_expression "entry->the_bfd" identifier -> field_identifier)) ;) }))) })) comment (expression_statement "ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc);" (call_expression "ld_abort(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc)" identifier (argument_list "(PTR_yy_accept_1428__001db910 + 0x4120,0xb2f,\n                     PTR_yy_accept_1428__001db910 + 0x40cc)" ( (binary_expression "PTR_yy_accept_1428__001db910 + 0x4120" identifier + number_literal) , number_literal , (binary_expression "PTR_yy_accept_1428__001db910 + 0x40cc" identifier + number_literal) ))) ;) })) })))) (expression_statement "bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928);" (assignment_expression "bVar6 = (*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928)" identifier = (call_expression "(*pbVar16->xvec->_bfd_link_add_symbols)\n                          (pbVar16,(bfd_link_info *)PTR_link_info_001db928)" (parenthesized_expression "(*pbVar16->xvec->_bfd_link_add_symbols)" ( (pointer_expression "*pbVar16->xvec->_bfd_link_add_symbols" * (field_expression "pbVar16->xvec->_bfd_link_add_symbols" (field_expression "pbVar16->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pbVar16,(bfd_link_info *)PTR_link_info_001db928)" ( identifier , (cast_expression "(bfd_link_info *)PTR_link_info_001db928" ( (type_descriptor "bfd_link_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (bVar6 != 0) {\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }" if (parenthesized_expression "(bVar6 != 0)" ( (binary_expression "bVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          *(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;\n          return 1;\n        }" { (expression_statement "*(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40;" (assignment_expression "*(ushort *)&entry->flags = *(ushort *)&entry->flags & 0xffbf | 0x40" (pointer_expression "*(ushort *)&entry->flags" * (cast_expression "(ushort *)&entry->flags" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&entry->flags" & (field_expression "entry->flags" identifier -> field_identifier)))) = (binary_expression "*(ushort *)&entry->flags & 0xffbf | 0x40" (binary_expression "*(ushort *)&entry->flags & 0xffbf" (pointer_expression "*(ushort *)&entry->flags" * (cast_expression "(ushort *)&entry->flags" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&entry->flags" & (field_expression "entry->flags" identifier -> field_identifier)))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5);" (assignment_expression "pcVar14 = (char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_001dc0a4)\n                                    (0,PTR_yy_accept_1428__001db910 + 0x4c30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_yy_accept_1428__001db910 + 0x4c30,5)" ( number_literal , (binary_expression "PTR_yy_accept_1428__001db910 + 0x4c30" identifier + number_literal) , number_literal ))))) ;) (expression_statement "einfo(pcVar14,entry->the_bfd);" (call_expression "einfo(pcVar14,entry->the_bfd)" identifier (argument_list "(pcVar14,entry->the_bfd)" ( identifier , (field_expression "entry->the_bfd" identifier -> field_identifier) ))) ;) (return_statement "return (uint)(*(int *)&entry->flags << 9) >> 0x1f;" return (binary_expression "(uint)(*(int *)&entry->flags << 9) >> 0x1f" (call_expression "(uint)(*(int *)&entry->flags << 9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)&entry->flags << 9)" ( (binary_expression "*(int *)&entry->flags << 9" (pointer_expression "*(int *)&entry->flags" * (cast_expression "(int *)&entry->flags" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&entry->flags" & (field_expression "entry->flags" identifier -> field_identifier)))) << number_literal) ))) >> number_literal) ;) })) }))) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "uint load_symbols(int param_1,int param_2)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  char *pcVar11;\n  uint uVar12;\n  int *piVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  undefined *puVar16;\n  undefined *puVar17;\n  undefined *puVar18;\n  uint local_38;\n  undefined4 local_34;\n  int *local_30 [2];\n  \n  if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }\n  return 1;\n}\n\n" (function_definition "uint load_symbols(int param_1,int param_2)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  char *pcVar11;\n  uint uVar12;\n  int *piVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  undefined *puVar16;\n  undefined *puVar17;\n  undefined *puVar18;\n  uint local_38;\n  undefined4 local_34;\n  int *local_30 [2];\n  \n  if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }\n  return 1;\n}" type_identifier (function_declarator "load_symbols(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  ushort uVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  char *pcVar11;\n  uint uVar12;\n  int *piVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  undefined *puVar16;\n  undefined *puVar17;\n  undefined *puVar18;\n  uint local_38;\n  undefined4 local_34;\n  int *local_30 [2];\n  \n  if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }\n  return 1;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int *local_30 [2];" primitive_type (pointer_declarator "*local_30 [2]" * (array_declarator "local_30 [2]" identifier [ number_literal ])) ;) (if_statement "if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }" if (parenthesized_expression "(((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0))" ( (binary_expression "((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)" (parenthesized_expression "((*(ushort *)(param_1 + 0x24) & 0x40) == 0)" ( (binary_expression "(*(ushort *)(param_1 + 0x24) & 0x40) == 0" (parenthesized_expression "(*(ushort *)(param_1 + 0x24) & 0x40)" ( (binary_expression "*(ushort *)(param_1 + 0x24) & 0x40" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)" ( (comma_expression "ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0" (call_expression "ldfile_open_file()" identifier (argument_list "()" ( ))) , (binary_expression "(*(ushort *)(param_1 + 0x24) & 0x10) == 0" (parenthesized_expression "(*(ushort *)(param_1 + 0x24) & 0x10)" ( (binary_expression "*(ushort *)(param_1 + 0x24) & 0x10" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }" { (expression_statement "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);" (assignment_expression "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_001dbe7c)" ( (pointer_expression "*(code *)PTR_bfd_check_format_001dbe7c" * (cast_expression "(code *)PTR_bfd_check_format_001dbe7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10),2)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }" if (parenthesized_expression "((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_001dbeb8)" ( (pointer_expression "*(code *)PTR_bfd_check_format_matches_001dbeb8" * (cast_expression "(code *)PTR_bfd_check_format_matches_001dbeb8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10),1,local_30)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , number_literal , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }" { (expression_statement "iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();" (assignment_expression "iVar4 = (*(code *)PTR_bfd_get_error_001dc048)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_001dc048)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_001dc048)" ( (pointer_expression "*(code *)PTR_bfd_get_error_001dc048" * (cast_expression "(code *)PTR_bfd_get_error_001dc048" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = ldemul_unrecognized_file(param_1);" (assignment_expression "iVar5 = ldemul_unrecognized_file(param_1)" identifier = (call_expression "ldemul_unrecognized_file(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }" { (if_statement "if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" if (parenthesized_expression "(iVar4 == 0xd)" ( (binary_expression "iVar4 == 0xd" identifier == number_literal) )) (compound_statement "{\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }" { (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_001db910 + 0x4b84,5)" ( number_literal , (binary_expression "PTR_DAT_001db910 + 0x4b84" identifier + number_literal) , number_literal )))) ;) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10));" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10))" identifier (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10))" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) (if_statement "if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }" if (parenthesized_expression "(*local_30[0] != 0)" ( (binary_expression "*local_30[0] != 0" (pointer_expression "*local_30[0]" * (subscript_expression "local_30[0]" identifier [ number_literal ])) != number_literal) )) (compound_statement "{\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }" { (expression_statement "puVar17 = PTR_DAT_001db910 + 0x4e4;" (assignment_expression "puVar17 = PTR_DAT_001db910 + 0x4e4" identifier = (binary_expression "PTR_DAT_001db910 + 0x4e4" identifier + number_literal)) ;) (expression_statement "piVar13 = local_30[0];" (assignment_expression "piVar13 = local_30[0]" identifier = (subscript_expression "local_30[0]" identifier [ number_literal ])) ;) (do_statement "do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);" do (compound_statement "{\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            }" { (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "einfo(puVar17);" (call_expression "einfo(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) }) while (parenthesized_expression "(*piVar13 != 0)" ( (binary_expression "*piVar13 != 0" (pointer_expression "*piVar13" * identifier) != number_literal) )) ;) })) (expression_statement "einfo(PTR_DAT_001db910 + 0x4bb8);" (call_expression "einfo(PTR_DAT_001db910 + 0x4bb8)" identifier (argument_list "(PTR_DAT_001db910 + 0x4bb8)" ( (binary_expression "PTR_DAT_001db910 + 0x4bb8" identifier + number_literal) ))) ;) }) (else_clause "else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" else (if_statement "if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" if (parenthesized_expression "((iVar4 != 0xc) || (param_2 == 0))" ( (binary_expression "(iVar4 != 0xc) || (param_2 == 0)" (parenthesized_expression "(iVar4 != 0xc)" ( (binary_expression "iVar4 != 0xc" identifier != number_literal) )) || (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" { (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_001db910 + 0x4bbc,5)" ( number_literal , (binary_expression "PTR_DAT_001db910 + 0x4bbc" identifier + number_literal) , number_literal )))) ;) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10));" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10))" identifier (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10))" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) })))) (expression_statement "puVar18 = PTR_input_flags_001dba44;" (assignment_expression "puVar18 = PTR_input_flags_001dba44" identifier = identifier) ;) (expression_statement "puVar17 = PTR_DAT_001db8f8;" (assignment_expression "puVar17 = PTR_DAT_001db8f8" identifier = identifier) ;) (expression_statement "(*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));" (call_expression "(*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10))" (parenthesized_expression "(*(code *)PTR_bfd_close_001dbecc)" ( (pointer_expression "*(code *)PTR_bfd_close_001dbecc" * (cast_expression "(code *)PTR_bfd_close_001dbecc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar10 = *(uint *)puVar18;" (assignment_expression "uVar10 = *(uint *)puVar18" identifier = (pointer_expression "*(uint *)puVar18" * (cast_expression "(uint *)puVar18" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_34 = *(undefined4 *)(puVar18 + 4);" (assignment_expression "local_34 = *(undefined4 *)(puVar18 + 4)" identifier = (pointer_expression "*(undefined4 *)(puVar18 + 4)" * (cast_expression "(undefined4 *)(puVar18 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_38 = uVar10;" (assignment_expression "local_38 = uVar10" identifier = identifier) ;) (expression_statement "ldfile_open_command_file(*(undefined4 *)(param_1 + 8));" (call_expression "ldfile_open_command_file(*(undefined4 *)(param_1 + 8))" identifier (argument_list "(*(undefined4 *)(param_1 + 8))" ( (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 "puVar3 = PTR_stat_ptr_001dbbf8;" (assignment_expression "puVar3 = PTR_stat_ptr_001dbbf8" identifier = identifier) ;) (expression_statement "puVar16 = PTR_ldfile_assumed_script_001dba1c;" (assignment_expression "puVar16 = PTR_ldfile_assumed_script_001dba1c" identifier = identifier) ;) (expression_statement "puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);" (assignment_expression "puVar14 = *(undefined4 **)(puVar17 + -0x4fc4)" identifier = (pointer_expression "*(undefined4 **)(puVar17 + -0x4fc4)" * (cast_expression "(undefined4 **)(puVar17 + -0x4fc4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x4fc4)" ( (binary_expression "puVar17 + -0x4fc4" identifier + number_literal) ))))) ;) (if_statement "if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }" if (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3b70 <= puVar14)" ( (binary_expression "PTR_DAT_001db8f8 + -0x3b70 <= puVar14" (binary_expression "PTR_DAT_001db8f8 + -0x3b70" identifier + number_literal) <= identifier) )) (compound_statement "{\n                    \n          FUN_000264a8();\n        }" { (expression_statement "FUN_000264a8();" (call_expression "FUN_000264a8()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar1 = *(ushort *)puVar18;" (assignment_expression "uVar1 = *(ushort *)puVar18" identifier = (pointer_expression "*(ushort *)puVar18" * (cast_expression "(ushort *)puVar18" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar2 = *(ushort *)(param_1 + 0x24);" (assignment_expression "uVar2 = *(ushort *)(param_1 + 0x24)" identifier = (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;" (assignment_expression "uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8" identifier = (pointer_expression "*(undefined4 *)PTR_stat_ptr_001dbbf8" * (cast_expression "(undefined4 *)PTR_stat_ptr_001dbbf8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;" (assignment_expression "*(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1" (pointer_expression "*(undefined4 **)(puVar17 + -0x4fc4)" * (cast_expression "(undefined4 **)(puVar17 + -0x4fc4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x4fc4)" ( (binary_expression "puVar17 + -0x4fc4" identifier + number_literal) )))) = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "*puVar14 = uVar15;" (assignment_expression "*puVar14 = uVar15" (pointer_expression "*puVar14" * identifier) = identifier) ;) (expression_statement "*(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;" (assignment_expression "*(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780" (pointer_expression "*(ushort *)puVar18" * (cast_expression "(ushort *)puVar18" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar1 & 0xf87f | uVar2 & 0x780" (binary_expression "uVar1 & 0xf87f" identifier & number_literal) | (binary_expression "uVar2 & 0x780" identifier & number_literal))) ;) (expression_statement "*(int *)puVar3 = param_2;" (assignment_expression "*(int *)puVar3 = param_2" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)puVar16 = 1;" (assignment_expression "*(undefined4 *)puVar16 = 1" (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)PTR_parser_input_001dba00 = 1;" (assignment_expression "*(undefined4 *)PTR_parser_input_001dba00 = 1" (pointer_expression "*(undefined4 *)PTR_parser_input_001dba00" * (cast_expression "(undefined4 *)PTR_parser_input_001dba00" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "yyparse();" (call_expression "yyparse()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar12 = *(uint *)puVar18;" (assignment_expression "uVar12 = *(uint *)puVar18" identifier = (pointer_expression "*(uint *)puVar18" * (cast_expression "(uint *)puVar18" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar8 = *(undefined **)(puVar17 + -0x4fc4);" (assignment_expression "puVar8 = *(undefined **)(puVar17 + -0x4fc4)" identifier = (pointer_expression "*(undefined **)(puVar17 + -0x4fc4)" * (cast_expression "(undefined **)(puVar17 + -0x4fc4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x4fc4)" ( (binary_expression "puVar17 + -0x4fc4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)puVar16 = 0;" (assignment_expression "*(undefined4 *)puVar16 = 0" (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + 4) = local_34;" (assignment_expression "*(undefined4 *)(puVar18 + 4) = local_34" (pointer_expression "*(undefined4 *)(puVar18 + 4)" * (cast_expression "(undefined4 *)(puVar18 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);" (assignment_expression "local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_)" identifier = (call_expression "CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_)" identifier (argument_list "(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_)" ( (binary_expression "local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4)" (binary_expression "local_38._0_2_ & 0xffef" (field_expression "local_38._0_2_" identifier . field_identifier) & number_literal) | (call_expression "(ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4)" ( (binary_expression "(((uVar10 | uVar12) << 0xb) >> 0x1f) << 4" (parenthesized_expression "(((uVar10 | uVar12) << 0xb) >> 0x1f)" ( (binary_expression "((uVar10 | uVar12) << 0xb) >> 0x1f" (parenthesized_expression "((uVar10 | uVar12) << 0xb)" ( (binary_expression "(uVar10 | uVar12) << 0xb" (parenthesized_expression "(uVar10 | uVar12)" ( (binary_expression "uVar10 | uVar12" identifier | identifier) )) << number_literal) )) >> number_literal) )) << number_literal) )))) , (field_expression "local_38._2_2_" identifier . field_identifier) )))) ;) (expression_statement "puVar7 = PTR_DAT_001db8f8 + -0x3b98;" (assignment_expression "puVar7 = PTR_DAT_001db8f8 + -0x3b98" identifier = (binary_expression "PTR_DAT_001db8f8 + -0x3b98" identifier + number_literal)) ;) (expression_statement "*(uint *)puVar18 = local_38;" (assignment_expression "*(uint *)puVar18 = local_38" (pointer_expression "*(uint *)puVar18" * (cast_expression "(uint *)puVar18" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "puVar18 = PTR_fclose_001dbec0;" (assignment_expression "puVar18 = PTR_fclose_001dbec0" identifier = identifier) ;) (expression_statement "puVar16 = PTR_yyin_001dbb64;" (assignment_expression "puVar16 = PTR_yyin_001dbb64" identifier = identifier) ;) (if_statement "if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }" if (parenthesized_expression "(puVar8 <= puVar7)" ( (binary_expression "puVar8 <= puVar7" identifier <= identifier) )) (compound_statement "{\n                    \n          FUN_000264dc();\n        }" { (expression_statement "FUN_000264dc();" (call_expression "FUN_000264dc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar15 = *(undefined4 *)(puVar8 + -4);" (assignment_expression "uVar15 = *(undefined4 *)(puVar8 + -4)" identifier = (pointer_expression "*(undefined4 *)(puVar8 + -4)" * (cast_expression "(undefined4 *)(puVar8 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;" (assignment_expression "*(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4" (pointer_expression "*(undefined **)(puVar17 + -0x4fc4)" * (cast_expression "(undefined **)(puVar17 + -0x4fc4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x4fc4)" ( (binary_expression "puVar17 + -0x4fc4" identifier + number_literal) )))) = (binary_expression "puVar8 + -4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)puVar3 = uVar15;" (assignment_expression "*(undefined4 *)puVar3 = uVar15" (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "(*(code *)puVar18)(*(undefined4 *)puVar16);" (call_expression "(*(code *)puVar18)(*(undefined4 *)puVar16)" (parenthesized_expression "(*(code *)puVar18)" ( (pointer_expression "*(code *)puVar18" * (cast_expression "(code *)puVar18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar16)" ( (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "*(undefined4 *)puVar16 = 0;" (assignment_expression "*(undefined4 *)puVar16 = 0" (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;" (assignment_expression "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) = (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) | number_literal)) ;) })) }) (else_clause "else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }" else (compound_statement "{\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }" { (expression_statement "iVar4 = ldemul_recognized_file(param_1);" (assignment_expression "iVar4 = ldemul_recognized_file(param_1)" identifier = (call_expression "ldemul_recognized_file(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }" { (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" if (parenthesized_expression "((uint)puVar14[10] >> 0x1d == 1)" ( (binary_expression "(uint)puVar14[10] >> 0x1d == 1" (binary_expression "(uint)puVar14[10] >> 0x1d" (cast_expression "(uint)puVar14[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar14[10]" identifier [ number_literal ])) >> number_literal) == number_literal) )) (compound_statement "{\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }" { (if_statement "if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }" if (parenthesized_expression "((*(ushort *)(param_1 + 0x24) & 8) == 0)" ( (binary_expression "(*(ushort *)(param_1 + 0x24) & 8) == 0" (parenthesized_expression "(*(ushort *)(param_1 + 0x24) & 8)" ( (binary_expression "*(ushort *)(param_1 + 0x24) & 8" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            ldlang_add_file(param_1);\n          }" { (expression_statement "ldlang_add_file(param_1);" (call_expression "ldlang_add_file(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) })) (if_statement "if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }" if (parenthesized_expression "(*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0)" ( (binary_expression "*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0" (binary_expression "*(int *)PTR_trace_files_001db94c != 0" (pointer_expression "*(int *)PTR_trace_files_001db94c" * (cast_expression "(int *)PTR_trace_files_001db94c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) || (binary_expression "*(int *)PTR_verbose_001db950 != 0" (pointer_expression "*(int *)PTR_verbose_001db950" * (cast_expression "(int *)PTR_verbose_001db950" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal)) )) (compound_statement "{\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }" { (expression_statement "info_msg(PTR_DAT_001db910 + 0x4be0,param_1);" (call_expression "info_msg(PTR_DAT_001db910 + 0x4be0,param_1)" identifier (argument_list "(PTR_DAT_001db910 + 0x4be0,param_1)" ( (binary_expression "PTR_DAT_001db910 + 0x4be0" identifier + number_literal) , identifier ))) ;) })) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" else (if_statement "if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" if (parenthesized_expression "((uint)puVar14[10] >> 0x1d == 2)" ( (binary_expression "(uint)puVar14[10] >> 0x1d == 2" (binary_expression "(uint)puVar14[10] >> 0x1d" (cast_expression "(uint)puVar14[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar14[10]" identifier [ number_literal ])) >> number_literal) == number_literal) )) (compound_statement "{\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" { (expression_statement "puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);" (assignment_expression "puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" identifier = (pointer_expression "*(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" * (cast_expression "(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3bc8)" ( (binary_expression "PTR_DAT_001db8f8 + -0x3bc8" identifier + number_literal) ))))) ;) (if_statement "if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }" if (parenthesized_expression "(puVar9 != (undefined4 *)0x0)" ( (binary_expression "puVar9 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }" { (expression_statement "puVar17 = PTR_DAT_001db910 + 0x4be8;" (assignment_expression "puVar17 = PTR_DAT_001db910 + 0x4be8" identifier = (binary_expression "PTR_DAT_001db910 + 0x4be8" identifier + number_literal)) ;) (do_statement "do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);" do (compound_statement "{\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            }" { (expression_statement "iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);" (assignment_expression "iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(*puVar9)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar9)" ( (pointer_expression "*puVar9" * identifier) )))) ;) (expression_statement "iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);" (assignment_expression "iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14)" identifier = (call_expression "(*(code *)PTR_lbasename_001dbffc)(*puVar14)" (parenthesized_expression "(*(code *)PTR_lbasename_001dbffc)" ( (pointer_expression "*(code *)PTR_lbasename_001dbffc" * (cast_expression "(code *)PTR_lbasename_001dbffc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) )))) ;) (expression_statement "uVar15 = *puVar9;" (assignment_expression "uVar15 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)(uVar15,puVar17)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar15,puVar17)" ( identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }" { (labeled_statement "LAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;" statement_identifier : (expression_statement "puVar14[10] = puVar14[10] & 0xfffffffb | 4;" (assignment_expression "puVar14[10] = puVar14[10] & 0xfffffffb | 4" (subscript_expression "puVar14[10]" identifier [ number_literal ]) = (binary_expression "puVar14[10] & 0xfffffffb | 4" (binary_expression "puVar14[10] & 0xfffffffb" (subscript_expression "puVar14[10]" identifier [ number_literal ]) & number_literal) | number_literal)) ;)) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0002b5f0;" goto statement_identifier ;) })) (expression_statement "iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);" (assignment_expression "iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4)" identifier = (call_expression "(*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4)" (parenthesized_expression "(*(code *)PTR_filename_ncmp_001dc054)" ( (pointer_expression "*(code *)PTR_filename_ncmp_001dc054" * (cast_expression "(code *)PTR_filename_ncmp_001dc054" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar15,iVar5,iVar4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }" { (expression_statement "pcVar11 = (char *)(iVar5 + iVar4);" (assignment_expression "pcVar11 = (char *)(iVar5 + iVar4)" identifier = (cast_expression "(char *)(iVar5 + iVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + iVar4)" ( (binary_expression "iVar5 + iVar4" identifier + identifier) )))) ;) (if_statement "if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;" if (parenthesized_expression "((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))" ( (binary_expression "(*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0')))" (parenthesized_expression "(*pcVar11 == '\0')" ( (binary_expression "*pcVar11 == '\0'" (pointer_expression "*pcVar11" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0')))" ( (parenthesized_expression "((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))" ( (binary_expression "(*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0')" (parenthesized_expression "(*pcVar11 == '.' && (pcVar11[1] == 'a'))" ( (binary_expression "*pcVar11 == '.' && (pcVar11[1] == 'a')" (binary_expression "*pcVar11 == '.'" (pointer_expression "*pcVar11" * identifier) == (char_literal "'.'" ' character ')) && (parenthesized_expression "(pcVar11[1] == 'a')" ( (binary_expression "pcVar11[1] == 'a'" (subscript_expression "pcVar11[1]" identifier [ number_literal ]) == (char_literal "'a'" ' character ')) ))) )) && (parenthesized_expression "(pcVar11[2] == '\0')" ( (binary_expression "pcVar11[2] == '\0'" (subscript_expression "pcVar11[2]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_0002b5dc;" goto statement_identifier ;)) })) (expression_statement "puVar9 = (undefined4 *)puVar9[1];" (assignment_expression "puVar9 = (undefined4 *)puVar9[1]" identifier = (cast_expression "(undefined4 *)puVar9[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar9[1]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar9 != (undefined4 *)0x0)" ( (binary_expression "puVar9 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) })) (labeled_statement "LAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);" statement_identifier : (expression_statement "uVar1 = *(ushort *)(param_1 + 0x24);" (assignment_expression "uVar1 = *(ushort *)(param_1 + 0x24)" identifier = (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;)) (expression_statement "puVar14[0x2b] = param_1;" (assignment_expression "puVar14[0x2b] = param_1" (subscript_expression "puVar14[0x2b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17 = PTR_DAT_001db910;" (assignment_expression "puVar17 = PTR_DAT_001db910" identifier = identifier) ;) (if_statement "if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }" if (parenthesized_expression "((uVar1 & 0x80) != 0)" ( (binary_expression "(uVar1 & 0x80) != 0" (parenthesized_expression "(uVar1 & 0x80)" ( (binary_expression "uVar1 & 0x80" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }" { (expression_statement "uVar12 = 1;" (assignment_expression "uVar12 = 1" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = PTR_DAT_001db910 + 0x4bec;" (assignment_expression "puVar18 = PTR_DAT_001db910 + 0x4bec" identifier = (binary_expression "PTR_DAT_001db910 + 0x4bec" identifier + number_literal)) ;) (expression_statement "puVar16 = PTR_DAT_001db910 + 0x4c20;" (assignment_expression "puVar16 = PTR_DAT_001db910 + 0x4c20" identifier = (binary_expression "PTR_DAT_001db910 + 0x4c20" identifier + number_literal)) ;) (while_statement "while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }" { (expression_statement "uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);" (assignment_expression "uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10)" identifier = (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)" ( (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_001dbe78" * (cast_expression "(code *)PTR_bfd_openr_next_archived_file_001dbe78" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14,uVar10)" ( identifier , identifier )))) ;) (if_statement "if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }" { (expression_statement "*(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);" (assignment_expression "*(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6)" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) = (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6)" (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) | (call_expression "(ushort)(uVar12 << 6)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar12 << 6)" ( (binary_expression "uVar12 << 6" identifier << number_literal) ))))) ;) (return_statement "return uVar12;" return identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);" (assignment_expression "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_001dbe7c)" ( (pointer_expression "*(code *)PTR_bfd_check_format_001dbe7c" * (cast_expression "(code *)PTR_bfd_check_format_001dbe7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }" { (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar18,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10)" identifier (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , identifier ))) ;) })) (expression_statement "puVar3 = PTR_link_info_001db928;" (assignment_expression "puVar3 = PTR_link_info_001db928" identifier = identifier) ;) (expression_statement "local_38 = uVar10;" (assignment_expression "local_38 = uVar10" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);" (assignment_expression "iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38)" identifier = (call_expression "(*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38)" (parenthesized_expression "(*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))" ( (pointer_expression "*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" * (cast_expression "(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" * (pointer_expression "*(undefined4 **)(PTR_link_info_001db928 + 0x1c)" * (cast_expression "(undefined4 **)(PTR_link_info_001db928 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_link_info_001db928 + 0x1c)" ( (binary_expression "PTR_link_info_001db928 + 0x1c" identifier + number_literal) ))))))) )) (argument_list "(PTR_link_info_001db928,uVar10,puVar16,&local_38)" ( identifier , identifier , identifier , (pointer_expression "&local_38" & identifier) )))) ;) (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);" (assignment_expression "iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3)" identifier = (call_expression "(**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3)" (parenthesized_expression "(**(code **)(*(int *)(local_38 + 4) + 0x16c))" ( (pointer_expression "**(code **)(*(int *)(local_38 + 4) + 0x16c)" * (pointer_expression "*(code **)(*(int *)(local_38 + 4) + 0x16c)" * (cast_expression "(code **)(*(int *)(local_38 + 4) + 0x16c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(local_38 + 4) + 0x16c)" ( (binary_expression "*(int *)(local_38 + 4) + 0x16c" (pointer_expression "*(int *)(local_38 + 4)" * (cast_expression "(int *)(local_38 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 4)" ( (binary_expression "local_38 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(local_38,puVar3)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar17 + 0x4c30,5)" ( number_literal , (binary_expression "puVar17 + 0x4c30" identifier + number_literal) , number_literal )))) ;) (expression_statement "einfo(uVar15,uVar10);" (call_expression "einfo(uVar15,uVar10)" identifier (argument_list "(uVar15,uVar10)" ( identifier , identifier ))) ;) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" else (compound_statement "{\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" { (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x10)" * (cast_expression "(undefined4 **)(param_1 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) }))) })) (expression_statement "ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);" (call_expression "ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc)" identifier (argument_list "(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc)" ( (binary_expression "PTR_DAT_001db910 + 0x4120" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_001db910 + 0x40cc" identifier + number_literal) ))) ;) })) })))) (expression_statement "iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);" (assignment_expression "iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928)" identifier = (call_expression "(**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928)" (parenthesized_expression "(**(code **)(puVar14[1] + 0x16c))" ( (pointer_expression "**(code **)(puVar14[1] + 0x16c)" * (pointer_expression "*(code **)(puVar14[1] + 0x16c)" * (cast_expression "(code **)(puVar14[1] + 0x16c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14[1] + 0x16c)" ( (binary_expression "puVar14[1] + 0x16c" (subscript_expression "puVar14[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(puVar14,PTR_link_info_001db928)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }" { (expression_statement "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;" (assignment_expression "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) = (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf" (pointer_expression "*(ushort *)(param_1 + 0x24)" * (cast_expression "(ushort *)(param_1 + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_001db910 + 0x4c30,5)" ( number_literal , (binary_expression "PTR_DAT_001db910 + 0x4c30" identifier + number_literal) , number_literal )))) ;) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10));" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10))" identifier (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10))" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) (return_statement "return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;" return (binary_expression "(uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f" (call_expression "(uint)(*(int *)(param_1 + 0x24) << 9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(param_1 + 0x24) << 9)" ( (binary_expression "*(int *)(param_1 + 0x24) << 9" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) << number_literal) ))) >> number_literal) ;) })) }))) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( ))) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (binary_expression IDENT + LIT) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (binary_expression IDENT & LIT) | (binary_expression IDENT & LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) & LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT | IDENT) )) << LIT) )) >> LIT) )) << LIT) )))) , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) || (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT) == 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 IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) ))) )) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (labeled_statement statement_identifier : (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (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) ))))) ;) }))) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) })))) (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 (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (return_statement return (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) ;) })) }))) })) (return_statement return LIT ;) })))
(function_definition "uint load_symbols(int param_1,int param_2)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  char *pcVar11;\n  uint uVar12;\n  int *piVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  undefined *puVar16;\n  undefined *puVar17;\n  undefined *puVar18;\n  uint local_38;\n  undefined4 local_34;\n  int *local_30 [2];\n  \n  if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }\n  return 1;\n}" (type_identifier "uint") (function_declarator "load_symbols(int param_1,int param_2)" (identifier "load_symbols") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  ushort uVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  char *pcVar11;\n  uint uVar12;\n  int *piVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  undefined *puVar16;\n  undefined *puVar17;\n  undefined *puVar18;\n  uint local_38;\n  undefined4 local_34;\n  int *local_30 [2];\n  \n  if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }\n  return 1;\n}" ({ "{") (declaration "ushort uVar1;" (type_identifier "ushort") (identifier "uVar1") (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "undefined *puVar16;" (type_identifier "undefined") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined *puVar18;" (type_identifier "undefined") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "int *local_30 [2];" (primitive_type "int") (pointer_declarator "*local_30 [2]" (* "*") (array_declarator "local_30 [2]" (identifier "local_30") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0))" (( "(") (binary_expression "((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&\n     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)" (parenthesized_expression "((*(ushort *)(param_1 + 0x24) & 0x40) == 0)" (( "(") (binary_expression "(*(ushort *)(param_1 + 0x24) & 0x40) == 0" (parenthesized_expression "(*(ushort *)(param_1 + 0x24) & 0x40)" (( "(") (binary_expression "*(ushort *)(param_1 + 0x24) & 0x40" (pointer_expression "*(ushort *)(param_1 + 0x24)" (* "*") (cast_expression "(ushort *)(param_1 + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)" (( "(") (comma_expression "ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0" (call_expression "ldfile_open_file()" (identifier "ldfile_open_file") (argument_list "()" (( "(") () ")"))) (, ",") (binary_expression "(*(ushort *)(param_1 + 0x24) & 0x10) == 0" (parenthesized_expression "(*(ushort *)(param_1 + 0x24) & 0x10)" (( "(") (binary_expression "*(ushort *)(param_1 + 0x24) & 0x10" (pointer_expression "*(ushort *)(param_1 + 0x24)" (* "*") (cast_expression "(ushort *)(param_1 + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);\n    if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);" (assignment_expression "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_001dbe7c)" (( "(") (pointer_expression "*(code *)PTR_bfd_check_format_001dbe7c" (* "*") (cast_expression "(code *)PTR_bfd_check_format_001dbe7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_check_format_001dbe7c"))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x10),2)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if ((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }\n    else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }" (if "if") (parenthesized_expression "((iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0))" (( "(") (binary_expression "(iVar4 == 0) &&\n       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_bfd_check_format_matches_001dbeb8)\n                          (*(undefined4 *)(param_1 + 0x10),1,local_30)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_001dbeb8)" (( "(") (pointer_expression "*(code *)PTR_bfd_check_format_matches_001dbeb8" (* "*") (cast_expression "(code *)PTR_bfd_check_format_matches_001dbeb8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_check_format_matches_001dbeb8"))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x10),1,local_30)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (number_literal "1") (, ",") (identifier "local_30") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();\n      iVar5 = ldemul_unrecognized_file(param_1);\n      if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }\n    }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();" (assignment_expression "iVar4 = (*(code *)PTR_bfd_get_error_001dc048)()" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_bfd_get_error_001dc048)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_001dc048)" (( "(") (pointer_expression "*(code *)PTR_bfd_get_error_001dc048" (* "*") (cast_expression "(code *)PTR_bfd_get_error_001dc048" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_get_error_001dc048"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = ldemul_unrecognized_file(param_1);" (assignment_expression "iVar5 = ldemul_unrecognized_file(param_1)" (identifier "iVar5") (= "=") (call_expression "ldemul_unrecognized_file(param_1)" (identifier "ldemul_unrecognized_file") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }\n        puVar18 = PTR_input_flags_001dba44;\n        puVar17 = PTR_DAT_001db8f8;\n        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));\n        uVar10 = *(uint *)puVar18;\n        local_34 = *(undefined4 *)(puVar18 + 4);\n        *(undefined4 *)(param_1 + 0x10) = 0;\n        local_38 = uVar10;\n        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));\n        puVar3 = PTR_stat_ptr_001dbbf8;\n        puVar16 = PTR_ldfile_assumed_script_001dba1c;\n        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);\n        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }\n        uVar1 = *(ushort *)puVar18;\n        uVar2 = *(ushort *)(param_1 + 0x24);\n        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;\n        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;\n        *puVar14 = uVar15;\n        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;\n        *(int *)puVar3 = param_2;\n        *(undefined4 *)puVar16 = 1;\n        *(undefined4 *)PTR_parser_input_001dba00 = 1;\n        yyparse();\n        uVar12 = *(uint *)puVar18;\n        puVar8 = *(undefined **)(puVar17 + -0x4fc4);\n        *(undefined4 *)puVar16 = 0;\n        *(undefined4 *)(puVar18 + 4) = local_34;\n        local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);\n        puVar7 = PTR_DAT_001db8f8 + -0x3b98;\n        *(uint *)puVar18 = local_38;\n        puVar18 = PTR_fclose_001dbec0;\n        puVar16 = PTR_yyin_001dbb64;\n        if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }\n        uVar15 = *(undefined4 *)(puVar8 + -4);\n        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;\n        *(undefined4 *)puVar3 = uVar15;\n        (*(code *)puVar18)(*(undefined4 *)puVar16);\n        *(undefined4 *)puVar16 = 0;\n        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n      }" ({ "{") (if_statement "if (iVar4 == 0xd) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }\n        else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" (if "if") (parenthesized_expression "(iVar4 == 0xd)" (( "(") (binary_expression "iVar4 == 0xd" (identifier "iVar4") (== "==") (number_literal "0xd")) () ")")) (compound_statement "{\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n          if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }\n          einfo(PTR_DAT_001db910 + 0x4bb8);\n        }" ({ "{") (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5)" (identifier "uVar15") (= "=") (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" (* "*") (cast_expression "(code *)PTR_dcgettext_001dc0a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_001dc0a4"))) () ")")) (argument_list "(0,PTR_DAT_001db910 + 0x4b84,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_001db910 + 0x4b84" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x4b84")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10));" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10))" (identifier "einfo") (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10))" (( "(") (identifier "uVar15") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) () ")"))) (; ";")) (if_statement "if (*local_30[0] != 0) {\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }" (if "if") (parenthesized_expression "(*local_30[0] != 0)" (( "(") (binary_expression "*local_30[0] != 0" (pointer_expression "*local_30[0]" (* "*") (subscript_expression "local_30[0]" (identifier "local_30") ([ "[") (number_literal "0") (] "]"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            puVar17 = PTR_DAT_001db910 + 0x4e4;\n            piVar13 = local_30[0];\n            do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);\n          }" ({ "{") (expression_statement "puVar17 = PTR_DAT_001db910 + 0x4e4;" (assignment_expression "puVar17 = PTR_DAT_001db910 + 0x4e4" (identifier "puVar17") (= "=") (binary_expression "PTR_DAT_001db910 + 0x4e4" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x4e4"))) (; ";")) (expression_statement "piVar13 = local_30[0];" (assignment_expression "piVar13 = local_30[0]" (identifier "piVar13") (= "=") (subscript_expression "local_30[0]" (identifier "local_30") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            } while (*piVar13 != 0);" (do "do") (compound_statement "{\n              piVar13 = piVar13 + 1;\n              einfo(puVar17);\n            }" ({ "{") (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" (identifier "piVar13") (= "=") (binary_expression "piVar13 + 1" (identifier "piVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "einfo(puVar17);" (call_expression "einfo(puVar17)" (identifier "einfo") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*piVar13 != 0)" (( "(") (binary_expression "*piVar13 != 0" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "einfo(PTR_DAT_001db910 + 0x4bb8);" (call_expression "einfo(PTR_DAT_001db910 + 0x4bb8)" (identifier "einfo") (argument_list "(PTR_DAT_001db910 + 0x4bb8)" (( "(") (binary_expression "PTR_DAT_001db910 + 0x4bb8" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x4bb8")) () ")"))) (; ";")) (} "}")) (else_clause "else if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" (else "else") (if_statement "if ((iVar4 != 0xc) || (param_2 == 0)) {\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" (if "if") (parenthesized_expression "((iVar4 != 0xc) || (param_2 == 0))" (( "(") (binary_expression "(iVar4 != 0xc) || (param_2 == 0)" (parenthesized_expression "(iVar4 != 0xc)" (( "(") (binary_expression "iVar4 != 0xc" (identifier "iVar4") (!= "!=") (number_literal "0xc")) () ")")) (|| "||") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);\n          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        }" ({ "{") (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5)" (identifier "uVar15") (= "=") (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" (* "*") (cast_expression "(code *)PTR_dcgettext_001dc0a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_001dc0a4"))) () ")")) (argument_list "(0,PTR_DAT_001db910 + 0x4bbc,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_001db910 + 0x4bbc" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x4bbc")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10));" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10))" (identifier "einfo") (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10))" (( "(") (identifier "uVar15") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) () ")"))) (; ";")) (} "}"))))) (expression_statement "puVar18 = PTR_input_flags_001dba44;" (assignment_expression "puVar18 = PTR_input_flags_001dba44" (identifier "puVar18") (= "=") (identifier "PTR_input_flags_001dba44")) (; ";")) (expression_statement "puVar17 = PTR_DAT_001db8f8;" (assignment_expression "puVar17 = PTR_DAT_001db8f8" (identifier "puVar17") (= "=") (identifier "PTR_DAT_001db8f8")) (; ";")) (expression_statement "(*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));" (call_expression "(*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10))" (parenthesized_expression "(*(code *)PTR_bfd_close_001dbecc)" (( "(") (pointer_expression "*(code *)PTR_bfd_close_001dbecc" (* "*") (cast_expression "(code *)PTR_bfd_close_001dbecc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_close_001dbecc"))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar10 = *(uint *)puVar18;" (assignment_expression "uVar10 = *(uint *)puVar18" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)puVar18" (* "*") (cast_expression "(uint *)puVar18" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar18")))) (; ";")) (expression_statement "local_34 = *(undefined4 *)(puVar18 + 4);" (assignment_expression "local_34 = *(undefined4 *)(puVar18 + 4)" (identifier "local_34") (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38 = uVar10;" (assignment_expression "local_38 = uVar10" (identifier "local_38") (= "=") (identifier "uVar10")) (; ";")) (expression_statement "ldfile_open_command_file(*(undefined4 *)(param_1 + 8));" (call_expression "ldfile_open_command_file(*(undefined4 *)(param_1 + 8))" (identifier "ldfile_open_command_file") (argument_list "(*(undefined4 *)(param_1 + 8))" (( "(") (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 "puVar3 = PTR_stat_ptr_001dbbf8;" (assignment_expression "puVar3 = PTR_stat_ptr_001dbbf8" (identifier "puVar3") (= "=") (identifier "PTR_stat_ptr_001dbbf8")) (; ";")) (expression_statement "puVar16 = PTR_ldfile_assumed_script_001dba1c;" (assignment_expression "puVar16 = PTR_ldfile_assumed_script_001dba1c" (identifier "puVar16") (= "=") (identifier "PTR_ldfile_assumed_script_001dba1c")) (; ";")) (expression_statement "puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);" (assignment_expression "puVar14 = *(undefined4 **)(puVar17 + -0x4fc4)" (identifier "puVar14") (= "=") (pointer_expression "*(undefined4 **)(puVar17 + -0x4fc4)" (* "*") (cast_expression "(undefined4 **)(puVar17 + -0x4fc4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x4fc4)" (( "(") (binary_expression "puVar17 + -0x4fc4" (identifier "puVar17") (+ "+") (number_literal "-0x4fc4")) () ")"))))) (; ";")) (if_statement "if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {\n                    \n          FUN_000264a8();\n        }" (if "if") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3b70 <= puVar14)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x3b70 <= puVar14" (binary_expression "PTR_DAT_001db8f8 + -0x3b70" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x3b70")) (<= "<=") (identifier "puVar14")) () ")")) (compound_statement "{\n                    \n          FUN_000264a8();\n        }" ({ "{") (expression_statement "FUN_000264a8();" (call_expression "FUN_000264a8()" (identifier "FUN_000264a8") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar1 = *(ushort *)puVar18;" (assignment_expression "uVar1 = *(ushort *)puVar18" (identifier "uVar1") (= "=") (pointer_expression "*(ushort *)puVar18" (* "*") (cast_expression "(ushort *)puVar18" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar18")))) (; ";")) (expression_statement "uVar2 = *(ushort *)(param_1 + 0x24);" (assignment_expression "uVar2 = *(ushort *)(param_1 + 0x24)" (identifier "uVar2") (= "=") (pointer_expression "*(ushort *)(param_1 + 0x24)" (* "*") (cast_expression "(ushort *)(param_1 + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;" (assignment_expression "uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)PTR_stat_ptr_001dbbf8" (* "*") (cast_expression "(undefined4 *)PTR_stat_ptr_001dbbf8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stat_ptr_001dbbf8")))) (; ";")) (expression_statement "*(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;" (assignment_expression "*(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1" (pointer_expression "*(undefined4 **)(puVar17 + -0x4fc4)" (* "*") (cast_expression "(undefined4 **)(puVar17 + -0x4fc4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x4fc4)" (( "(") (binary_expression "puVar17 + -0x4fc4" (identifier "puVar17") (+ "+") (number_literal "-0x4fc4")) () ")")))) (= "=") (binary_expression "puVar14 + 1" (identifier "puVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar14 = uVar15;" (assignment_expression "*puVar14 = uVar15" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;" (assignment_expression "*(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780" (pointer_expression "*(ushort *)puVar18" (* "*") (cast_expression "(ushort *)puVar18" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar18"))) (= "=") (binary_expression "uVar1 & 0xf87f | uVar2 & 0x780" (binary_expression "uVar1 & 0xf87f" (identifier "uVar1") (& "&") (number_literal "0xf87f")) (| "|") (binary_expression "uVar2 & 0x780" (identifier "uVar2") (& "&") (number_literal "0x780")))) (; ";")) (expression_statement "*(int *)puVar3 = param_2;" (assignment_expression "*(int *)puVar3 = param_2" (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)puVar16 = 1;" (assignment_expression "*(undefined4 *)puVar16 = 1" (pointer_expression "*(undefined4 *)puVar16" (* "*") (cast_expression "(undefined4 *)puVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar16"))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)PTR_parser_input_001dba00 = 1;" (assignment_expression "*(undefined4 *)PTR_parser_input_001dba00 = 1" (pointer_expression "*(undefined4 *)PTR_parser_input_001dba00" (* "*") (cast_expression "(undefined4 *)PTR_parser_input_001dba00" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parser_input_001dba00"))) (= "=") (number_literal "1")) (; ";")) (expression_statement "yyparse();" (call_expression "yyparse()" (identifier "yyparse") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar12 = *(uint *)puVar18;" (assignment_expression "uVar12 = *(uint *)puVar18" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)puVar18" (* "*") (cast_expression "(uint *)puVar18" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar18")))) (; ";")) (expression_statement "puVar8 = *(undefined **)(puVar17 + -0x4fc4);" (assignment_expression "puVar8 = *(undefined **)(puVar17 + -0x4fc4)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined **)(puVar17 + -0x4fc4)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x4fc4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x4fc4)" (( "(") (binary_expression "puVar17 + -0x4fc4" (identifier "puVar17") (+ "+") (number_literal "-0x4fc4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)puVar16 = 0;" (assignment_expression "*(undefined4 *)puVar16 = 0" (pointer_expression "*(undefined4 *)puVar16" (* "*") (cast_expression "(undefined4 *)puVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar16"))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + 4) = local_34;" (assignment_expression "*(undefined4 *)(puVar18 + 4) = local_34" (pointer_expression "*(undefined4 *)(puVar18 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);" (assignment_expression "local_38 = CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_)" (identifier "local_38") (= "=") (call_expression "CONCAT22(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_)" (identifier "CONCAT22") (argument_list "(local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_)" (( "(") (binary_expression "local_38._0_2_ & 0xffef |\n                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4)" (binary_expression "local_38._0_2_ & 0xffef" (field_expression "local_38._0_2_" (identifier "local_38") (. ".") (field_identifier "_0_2_")) (& "&") (number_literal "0xffef")) (| "|") (call_expression "(ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4)" (( "(") (binary_expression "(((uVar10 | uVar12) << 0xb) >> 0x1f) << 4" (parenthesized_expression "(((uVar10 | uVar12) << 0xb) >> 0x1f)" (( "(") (binary_expression "((uVar10 | uVar12) << 0xb) >> 0x1f" (parenthesized_expression "((uVar10 | uVar12) << 0xb)" (( "(") (binary_expression "(uVar10 | uVar12) << 0xb" (parenthesized_expression "(uVar10 | uVar12)" (( "(") (binary_expression "uVar10 | uVar12" (identifier "uVar10") (| "|") (identifier "uVar12")) () ")")) (<< "<<") (number_literal "0xb")) () ")")) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "4")) () ")")))) (, ",") (field_expression "local_38._2_2_" (identifier "local_38") (. ".") (field_identifier "_2_2_")) () ")")))) (; ";")) (expression_statement "puVar7 = PTR_DAT_001db8f8 + -0x3b98;" (assignment_expression "puVar7 = PTR_DAT_001db8f8 + -0x3b98" (identifier "puVar7") (= "=") (binary_expression "PTR_DAT_001db8f8 + -0x3b98" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x3b98"))) (; ";")) (expression_statement "*(uint *)puVar18 = local_38;" (assignment_expression "*(uint *)puVar18 = local_38" (pointer_expression "*(uint *)puVar18" (* "*") (cast_expression "(uint *)puVar18" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar18"))) (= "=") (identifier "local_38")) (; ";")) (expression_statement "puVar18 = PTR_fclose_001dbec0;" (assignment_expression "puVar18 = PTR_fclose_001dbec0" (identifier "puVar18") (= "=") (identifier "PTR_fclose_001dbec0")) (; ";")) (expression_statement "puVar16 = PTR_yyin_001dbb64;" (assignment_expression "puVar16 = PTR_yyin_001dbb64" (identifier "puVar16") (= "=") (identifier "PTR_yyin_001dbb64")) (; ";")) (if_statement "if (puVar8 <= puVar7) {\n                    \n          FUN_000264dc();\n        }" (if "if") (parenthesized_expression "(puVar8 <= puVar7)" (( "(") (binary_expression "puVar8 <= puVar7" (identifier "puVar8") (<= "<=") (identifier "puVar7")) () ")")) (compound_statement "{\n                    \n          FUN_000264dc();\n        }" ({ "{") (expression_statement "FUN_000264dc();" (call_expression "FUN_000264dc()" (identifier "FUN_000264dc") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar15 = *(undefined4 *)(puVar8 + -4);" (assignment_expression "uVar15 = *(undefined4 *)(puVar8 + -4)" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)(puVar8 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -4)" (( "(") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;" (assignment_expression "*(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4" (pointer_expression "*(undefined **)(puVar17 + -0x4fc4)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x4fc4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x4fc4)" (( "(") (binary_expression "puVar17 + -0x4fc4" (identifier "puVar17") (+ "+") (number_literal "-0x4fc4")) () ")")))) (= "=") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "*(undefined4 *)puVar3 = uVar15;" (assignment_expression "*(undefined4 *)puVar3 = uVar15" (pointer_expression "*(undefined4 *)puVar3" (* "*") (cast_expression "(undefined4 *)puVar3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "(*(code *)puVar18)(*(undefined4 *)puVar16);" (call_expression "(*(code *)puVar18)(*(undefined4 *)puVar16)" (parenthesized_expression "(*(code *)puVar18)" (( "(") (pointer_expression "*(code *)puVar18" (* "*") (cast_expression "(code *)puVar18" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar18"))) () ")")) (argument_list "(*(undefined4 *)puVar16)" (( "(") (pointer_expression "*(undefined4 *)puVar16" (* "*") (cast_expression "(undefined4 *)puVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar16"))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)puVar16 = 0;" (assignment_expression "*(undefined4 *)puVar16 = 0" (pointer_expression "*(undefined4 *)puVar16" (* "*") (cast_expression "(undefined4 *)puVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar16"))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;" (assignment_expression "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (pointer_expression "*(ushort *)(param_1 + 0x24)" (* "*") (cast_expression "(ushort *)(param_1 + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf" (pointer_expression "*(ushort *)(param_1 + 0x24)" (* "*") (cast_expression "(ushort *)(param_1 + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0xffbf")) (| "|") (number_literal "0x40"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }" (else "else") (compound_statement "{\n      iVar4 = ldemul_recognized_file(param_1);\n      if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }\n    }" ({ "{") (expression_statement "iVar4 = ldemul_recognized_file(param_1);" (assignment_expression "iVar4 = ldemul_recognized_file(param_1)" (identifier "iVar4") (= "=") (call_expression "ldemul_recognized_file(param_1)" (identifier "ldemul_recognized_file") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar14 = *(undefined4 **)(param_1 + 0x10);\n        if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }\n        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);\n        if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }\n        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);\n        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));\n        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;\n      }" ({ "{") (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" (identifier "puVar14") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((uint)puVar14[10] >> 0x1d == 1) {\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }\n        else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" (if "if") (parenthesized_expression "((uint)puVar14[10] >> 0x1d == 1)" (( "(") (binary_expression "(uint)puVar14[10] >> 0x1d == 1" (binary_expression "(uint)puVar14[10] >> 0x1d" (cast_expression "(uint)puVar14[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar14[10]" (identifier "puVar14") ([ "[") (number_literal "10") (] "]"))) (>> ">>") (number_literal "0x1d")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }\n          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }\n          puVar14 = *(undefined4 **)(param_1 + 0x10);\n        }" ({ "{") (if_statement "if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {\n            ldlang_add_file(param_1);\n          }" (if "if") (parenthesized_expression "((*(ushort *)(param_1 + 0x24) & 8) == 0)" (( "(") (binary_expression "(*(ushort *)(param_1 + 0x24) & 8) == 0" (parenthesized_expression "(*(ushort *)(param_1 + 0x24) & 8)" (( "(") (binary_expression "*(ushort *)(param_1 + 0x24) & 8" (pointer_expression "*(ushort *)(param_1 + 0x24)" (* "*") (cast_expression "(ushort *)(param_1 + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            ldlang_add_file(param_1);\n          }" ({ "{") (expression_statement "ldlang_add_file(param_1);" (call_expression "ldlang_add_file(param_1)" (identifier "ldlang_add_file") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }" (if "if") (parenthesized_expression "(*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0)" (( "(") (binary_expression "*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0" (binary_expression "*(int *)PTR_trace_files_001db94c != 0" (pointer_expression "*(int *)PTR_trace_files_001db94c" (* "*") (cast_expression "(int *)PTR_trace_files_001db94c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_trace_files_001db94c"))) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "*(int *)PTR_verbose_001db950 != 0" (pointer_expression "*(int *)PTR_verbose_001db950" (* "*") (cast_expression "(int *)PTR_verbose_001db950" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_verbose_001db950"))) (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);\n          }" ({ "{") (expression_statement "info_msg(PTR_DAT_001db910 + 0x4be0,param_1);" (call_expression "info_msg(PTR_DAT_001db910 + 0x4be0,param_1)" (identifier "info_msg") (argument_list "(PTR_DAT_001db910 + 0x4be0,param_1)" (( "(") (binary_expression "PTR_DAT_001db910 + 0x4be0" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x4be0")) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" (identifier "puVar14") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" (else "else") (if_statement "if ((uint)puVar14[10] >> 0x1d == 2) {\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" (if "if") (parenthesized_expression "((uint)puVar14[10] >> 0x1d == 2)" (( "(") (binary_expression "(uint)puVar14[10] >> 0x1d == 2" (binary_expression "(uint)puVar14[10] >> 0x1d" (cast_expression "(uint)puVar14[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar14[10]" (identifier "puVar14") ([ "[") (number_literal "10") (] "]"))) (>> ">>") (number_literal "0x1d")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);\n          if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }\nLAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);\n          puVar14[0x2b] = param_1;\n          puVar17 = PTR_DAT_001db910;\n          if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }\n        }" ({ "{") (expression_statement "puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);" (assignment_expression "puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" (identifier "puVar9") (= "=") (pointer_expression "*(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" (* "*") (cast_expression "(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3bc8)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x3bc8" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x3bc8")) () ")"))))) (; ";")) (if_statement "if (puVar9 != (undefined4 *)0x0) {\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }" (if "if") (parenthesized_expression "(puVar9 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar9 != (undefined4 *)0x0" (identifier "puVar9") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            puVar17 = PTR_DAT_001db910 + 0x4be8;\n            do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);\n            puVar14 = *(undefined4 **)(param_1 + 0x10);\n          }" ({ "{") (expression_statement "puVar17 = PTR_DAT_001db910 + 0x4be8;" (assignment_expression "puVar17 = PTR_DAT_001db910 + 0x4be8" (identifier "puVar17") (= "=") (binary_expression "PTR_DAT_001db910 + 0x4be8" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x4be8"))) (; ";")) (do_statement "do {\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            } while (puVar9 != (undefined4 *)0x0);" (do "do") (compound_statement "{\n              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);\n              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);\n              uVar15 = *puVar9;\n              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);\n              if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }\n              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);\n              if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }\n              puVar9 = (undefined4 *)puVar9[1];\n            }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);" (assignment_expression "iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strlen_001dbf90)(*puVar9)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" (( "(") (pointer_expression "*(code *)PTR_strlen_001dbf90" (* "*") (cast_expression "(code *)PTR_strlen_001dbf90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_001dbf90"))) () ")")) (argument_list "(*puVar9)" (( "(") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) () ")")))) (; ";")) (expression_statement "iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);" (assignment_expression "iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_lbasename_001dbffc)(*puVar14)" (parenthesized_expression "(*(code *)PTR_lbasename_001dbffc)" (( "(") (pointer_expression "*(code *)PTR_lbasename_001dbffc" (* "*") (cast_expression "(code *)PTR_lbasename_001dbffc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lbasename_001dbffc"))) () ")")) (argument_list "(*puVar14)" (( "(") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")")))) (; ";")) (expression_statement "uVar15 = *puVar9;" (assignment_expression "uVar15 = *puVar9" (identifier "uVar15") (= "=") (pointer_expression "*puVar9" (* "*") (identifier "puVar9"))) (; ";")) (expression_statement "iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_strcmp_001dc144)(uVar15,puVar17)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" (( "(") (pointer_expression "*(code *)PTR_strcmp_001dc144" (* "*") (cast_expression "(code *)PTR_strcmp_001dc144" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_001dc144"))) () ")")) (argument_list "(uVar15,puVar17)" (( "(") (identifier "uVar15") (, ",") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n                goto LAB_0002b5f0;\n              }" ({ "{") (labeled_statement "LAB_0002b5dc:\n                puVar14[10] = puVar14[10] & 0xfffffffb | 4;" (statement_identifier "LAB_0002b5dc") (: ":") (expression_statement "puVar14[10] = puVar14[10] & 0xfffffffb | 4;" (assignment_expression "puVar14[10] = puVar14[10] & 0xfffffffb | 4" (subscript_expression "puVar14[10]" (identifier "puVar14") ([ "[") (number_literal "10") (] "]")) (= "=") (binary_expression "puVar14[10] & 0xfffffffb | 4" (binary_expression "puVar14[10] & 0xfffffffb" (subscript_expression "puVar14[10]" (identifier "puVar14") ([ "[") (number_literal "10") (] "]")) (& "&") (number_literal "0xfffffffb")) (| "|") (number_literal "4"))) (; ";"))) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" (identifier "puVar14") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (goto_statement "goto LAB_0002b5f0;" (goto "goto") (statement_identifier "LAB_0002b5f0") (; ";")) (} "}"))) (expression_statement "iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);" (assignment_expression "iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4)" (parenthesized_expression "(*(code *)PTR_filename_ncmp_001dc054)" (( "(") (pointer_expression "*(code *)PTR_filename_ncmp_001dc054" (* "*") (cast_expression "(code *)PTR_filename_ncmp_001dc054" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_filename_ncmp_001dc054"))) () ")")) (argument_list "(uVar15,iVar5,iVar4)" (( "(") (identifier "uVar15") (, ",") (identifier "iVar5") (, ",") (identifier "iVar4") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                pcVar11 = (char *)(iVar5 + iVar4);\n                if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;\n              }" ({ "{") (expression_statement "pcVar11 = (char *)(iVar5 + iVar4);" (assignment_expression "pcVar11 = (char *)(iVar5 + iVar4)" (identifier "pcVar11") (= "=") (cast_expression "(char *)(iVar5 + iVar4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + iVar4)" (( "(") (binary_expression "iVar5 + iVar4" (identifier "iVar5") (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (if_statement "if ((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))\n                goto LAB_0002b5dc;" (if "if") (parenthesized_expression "((*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))" (( "(") (binary_expression "(*pcVar11 == '\0') ||\n                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0')))" (parenthesized_expression "(*pcVar11 == '\0')" (( "(") (binary_expression "*pcVar11 == '\0'" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0')))" (( "(") (parenthesized_expression "((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))" (( "(") (binary_expression "(*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0')" (parenthesized_expression "(*pcVar11 == '.' && (pcVar11[1] == 'a'))" (( "(") (binary_expression "*pcVar11 == '.' && (pcVar11[1] == 'a')" (binary_expression "*pcVar11 == '.'" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (== "==") (char_literal "'.'" (' "'") (character ".") (' "'"))) (&& "&&") (parenthesized_expression "(pcVar11[1] == 'a')" (( "(") (binary_expression "pcVar11[1] == 'a'" (subscript_expression "pcVar11[1]" (identifier "pcVar11") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'a'" (' "'") (character "a") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar11[2] == '\0')" (( "(") (binary_expression "pcVar11[2] == '\0'" (subscript_expression "pcVar11[2]" (identifier "pcVar11") ([ "[") (number_literal "2") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0002b5dc;" (goto "goto") (statement_identifier "LAB_0002b5dc") (; ";"))) (} "}"))) (expression_statement "puVar9 = (undefined4 *)puVar9[1];" (assignment_expression "puVar9 = (undefined4 *)puVar9[1]" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)puVar9[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar9 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar9 != (undefined4 *)0x0" (identifier "puVar9") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" (identifier "puVar14") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}"))) (labeled_statement "LAB_0002b5f0:\n          uVar1 = *(ushort *)(param_1 + 0x24);" (statement_identifier "LAB_0002b5f0") (: ":") (expression_statement "uVar1 = *(ushort *)(param_1 + 0x24);" (assignment_expression "uVar1 = *(ushort *)(param_1 + 0x24)" (identifier "uVar1") (= "=") (pointer_expression "*(ushort *)(param_1 + 0x24)" (* "*") (cast_expression "(ushort *)(param_1 + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";"))) (expression_statement "puVar14[0x2b] = param_1;" (assignment_expression "puVar14[0x2b] = param_1" (subscript_expression "puVar14[0x2b]" (identifier "puVar14") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "puVar17 = PTR_DAT_001db910;" (assignment_expression "puVar17 = PTR_DAT_001db910" (identifier "puVar17") (= "=") (identifier "PTR_DAT_001db910")) (; ";")) (if_statement "if ((uVar1 & 0x80) != 0) {\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }" (if "if") (parenthesized_expression "((uVar1 & 0x80) != 0)" (( "(") (binary_expression "(uVar1 & 0x80) != 0" (parenthesized_expression "(uVar1 & 0x80)" (( "(") (binary_expression "uVar1 & 0x80" (identifier "uVar1") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar12 = 1;\n            uVar10 = 0;\n            puVar18 = PTR_DAT_001db910 + 0x4bec;\n            puVar16 = PTR_DAT_001db910 + 0x4c20;\n            while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }\n                    \n            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);\n          }" ({ "{") (expression_statement "uVar12 = 1;" (assignment_expression "uVar12 = 1" (identifier "uVar12") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar18 = PTR_DAT_001db910 + 0x4bec;" (assignment_expression "puVar18 = PTR_DAT_001db910 + 0x4bec" (identifier "puVar18") (= "=") (binary_expression "PTR_DAT_001db910 + 0x4bec" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x4bec"))) (; ";")) (expression_statement "puVar16 = PTR_DAT_001db910 + 0x4c20;" (assignment_expression "puVar16 = PTR_DAT_001db910 + 0x4c20" (identifier "puVar16") (= "=") (binary_expression "PTR_DAT_001db910 + 0x4c20" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x4c20"))) (; ";")) (while_statement "while( true ) {\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);\n              if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }\n              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);\n              if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }\n              puVar3 = PTR_link_info_001db928;\n              local_38 = uVar10;\n              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);\n              if (iVar4 == 0) break;\n              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);\n              if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n            }" ({ "{") (expression_statement "uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);" (assignment_expression "uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_001dbe78)" (( "(") (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_001dbe78" (* "*") (cast_expression "(code *)PTR_bfd_openr_next_archived_file_001dbe78" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_openr_next_archived_file_001dbe78"))) () ")")) (argument_list "(puVar14,uVar10)" (( "(") (identifier "puVar14") (, ",") (identifier "uVar10") () ")")))) (; ";")) (if_statement "if (uVar10 == 0) {\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);\n                return uVar12;\n              }" ({ "{") (expression_statement "*(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);" (assignment_expression "*(ushort *)(param_1 + 0x24) =\n                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6)" (pointer_expression "*(ushort *)(param_1 + 0x24)" (* "*") (cast_expression "(ushort *)(param_1 + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6)" (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf" (pointer_expression "*(ushort *)(param_1 + 0x24)" (* "*") (cast_expression "(ushort *)(param_1 + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0xffbf")) (| "|") (call_expression "(ushort)(uVar12 << 6)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar12 << 6)" (( "(") (binary_expression "uVar12 << 6" (identifier "uVar12") (<< "<<") (number_literal "6")) () ")"))))) (; ";")) (return_statement "return uVar12;" (return "return") (identifier "uVar12") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);" (assignment_expression "iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_001dbe7c)" (( "(") (pointer_expression "*(code *)PTR_bfd_check_format_001dbe7c" (* "*") (cast_expression "(code *)PTR_bfd_check_format_001dbe7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_check_format_001dbe7c"))) () ")")) (argument_list "(uVar10,1)" (( "(") (identifier "uVar10") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);\n                uVar12 = 0;\n                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);\n              }" ({ "{") (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5)" (identifier "uVar15") (= "=") (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" (* "*") (cast_expression "(code *)PTR_dcgettext_001dc0a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_001dc0a4"))) () ")")) (argument_list "(0,puVar18,5)" (( "(") (number_literal "0") (, ",") (identifier "puVar18") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10)" (identifier "einfo") (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10)" (( "(") (identifier "uVar15") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar3 = PTR_link_info_001db928;" (assignment_expression "puVar3 = PTR_link_info_001db928" (identifier "puVar3") (= "=") (identifier "PTR_link_info_001db928")) (; ";")) (expression_statement "local_38 = uVar10;" (assignment_expression "local_38 = uVar10" (identifier "local_38") (= "=") (identifier "uVar10")) (; ";")) (expression_statement "iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);" (assignment_expression "iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38)" (identifier "iVar4") (= "=") (call_expression "(*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))\n                                (PTR_link_info_001db928,uVar10,puVar16,&local_38)" (parenthesized_expression "(*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" (* "*") (cast_expression "(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(PTR_link_info_001db928 + 0x1c)" (* "*") (pointer_expression "*(undefined4 **)(PTR_link_info_001db928 + 0x1c)" (* "*") (cast_expression "(undefined4 **)(PTR_link_info_001db928 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_link_info_001db928 + 0x1c)" (( "(") (binary_expression "PTR_link_info_001db928 + 0x1c" (identifier "PTR_link_info_001db928") (+ "+") (number_literal "0x1c")) () ")"))))))) () ")")) (argument_list "(PTR_link_info_001db928,uVar10,puVar16,&local_38)" (( "(") (identifier "PTR_link_info_001db928") (, ",") (identifier "uVar10") (, ",") (identifier "puVar16") (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);" (assignment_expression "iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3)" (parenthesized_expression "(**(code **)(*(int *)(local_38 + 4) + 0x16c))" (( "(") (pointer_expression "**(code **)(*(int *)(local_38 + 4) + 0x16c)" (* "*") (pointer_expression "*(code **)(*(int *)(local_38 + 4) + 0x16c)" (* "*") (cast_expression "(code **)(*(int *)(local_38 + 4) + 0x16c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(local_38 + 4) + 0x16c)" (( "(") (binary_expression "*(int *)(local_38 + 4) + 0x16c" (pointer_expression "*(int *)(local_38 + 4)" (* "*") (cast_expression "(int *)(local_38 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 4)" (( "(") (binary_expression "local_38 + 4" (identifier "local_38") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x16c")) () ")"))))) () ")")) (argument_list "(local_38,puVar3)" (( "(") (identifier "local_38") (, ",") (identifier "puVar3") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }\n              else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar12 = 0;\n                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);\n                einfo(uVar15,uVar10);\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5)" (identifier "uVar15") (= "=") (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" (* "*") (cast_expression "(code *)PTR_dcgettext_001dc0a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_001dc0a4"))) () ")")) (argument_list "(0,puVar17 + 0x4c30,5)" (( "(") (number_literal "0") (, ",") (binary_expression "puVar17 + 0x4c30" (identifier "puVar17") (+ "+") (number_literal "0x4c30")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "einfo(uVar15,uVar10);" (call_expression "einfo(uVar15,uVar10)" (identifier "einfo") (argument_list "(uVar15,uVar10)" (( "(") (identifier "uVar15") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" (identifier "puVar14") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" (else "else") (compound_statement "{\n                puVar14 = *(undefined4 **)(param_1 + 0x10);\n              }" ({ "{") (expression_statement "puVar14 = *(undefined4 **)(param_1 + 0x10);" (assignment_expression "puVar14 = *(undefined4 **)(param_1 + 0x10)" (identifier "puVar14") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")))) (} "}"))) (expression_statement "ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);" (call_expression "ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc)" (identifier "ld_abort") (argument_list "(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc)" (( "(") (binary_expression "PTR_DAT_001db910 + 0x4120" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x4120")) (, ",") (number_literal "0xb2f") (, ",") (binary_expression "PTR_DAT_001db910 + 0x40cc" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x40cc")) () ")"))) (; ";")) (} "}"))) (} "}"))))) (expression_statement "iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);" (assignment_expression "iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928)" (parenthesized_expression "(**(code **)(puVar14[1] + 0x16c))" (( "(") (pointer_expression "**(code **)(puVar14[1] + 0x16c)" (* "*") (pointer_expression "*(code **)(puVar14[1] + 0x16c)" (* "*") (cast_expression "(code **)(puVar14[1] + 0x16c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar14[1] + 0x16c)" (( "(") (binary_expression "puVar14[1] + 0x16c" (subscript_expression "puVar14[1]" (identifier "puVar14") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x16c")) () ")"))))) () ")")) (argument_list "(puVar14,PTR_link_info_001db928)" (( "(") (identifier "puVar14") (, ",") (identifier "PTR_link_info_001db928") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;\n          return 1;\n        }" ({ "{") (expression_statement "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;" (assignment_expression "*(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (pointer_expression "*(ushort *)(param_1 + 0x24)" (* "*") (cast_expression "(ushort *)(param_1 + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf | 0x40" (binary_expression "*(ushort *)(param_1 + 0x24) & 0xffbf" (pointer_expression "*(ushort *)(param_1 + 0x24)" (* "*") (cast_expression "(ushort *)(param_1 + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0xffbf")) (| "|") (number_literal "0x40"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);" (assignment_expression "uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5)" (identifier "uVar15") (= "=") (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" (* "*") (cast_expression "(code *)PTR_dcgettext_001dc0a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_001dc0a4"))) () ")")) (argument_list "(0,PTR_DAT_001db910 + 0x4c30,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_001db910 + 0x4c30" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x4c30")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "einfo(uVar15,*(undefined4 *)(param_1 + 0x10));" (call_expression "einfo(uVar15,*(undefined4 *)(param_1 + 0x10))" (identifier "einfo") (argument_list "(uVar15,*(undefined4 *)(param_1 + 0x10))" (( "(") (identifier "uVar15") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) () ")"))) (; ";")) (return_statement "return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;" (return "return") (binary_expression "(uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f" (call_expression "(uint)(*(int *)(param_1 + 0x24) << 9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(param_1 + 0x24) << 9)" (( "(") (binary_expression "*(int *)(param_1 + 0x24) << 9" (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (<< "<<") (number_literal "9")) () ")"))) (>> ">>") (number_literal "0x1f")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

type_1 function_1(type_2 *entry,type_3 *var_8)

{
  type_4 var_15;
  type_4 var_16;
  type_5 lVar3;
  type_6 *puVar4;
  int var_2;
  type_1 var_4;
  type_7 var_19;
  int var_27;
  int var_26;
  type_6 *var_21;
  type_6 *var_20;
  type_3 *new_ptr;
  type_8 *var_13;
  type_9 *var_28;
  char *pcVar14;
  char **var_7;
  type_9 *pbVar16;
  type_8 uVar17;
  type_6 *puVar18;
  type_6 *var_11;
  type_6 *var_9;
  type_9 *subsbfd;
  type_8 local_34;
  char **matching;
  
  if ((((type_10)entry->flags & 0x40000000000000) == 0) &&
     (var_1(entry), ((type_10)entry->flags & 0x10000000000000) == 0)) {
    var_2 = (*(type_11 *)PTR_bfd_check_format_001dbe7c)(entry->the_bfd,2);
    if ((var_2 == 0) &&
       (var_2 = (*(type_11 *)PTR_bfd_check_format_matches_001dbeb8)(entry->the_bfd,1,&matching),
       var_2 == 0)) {
      var_2 = (*(type_11 *)PTR_bfd_get_error_001dc048)();
      var_4 = var_3(entry);
      if (var_4 == 0) {
        if (var_2 == 0xd) {
          pcVar14 = (char *)(*(type_11 *)PTR_dcgettext_001dc0a4)
                                      (0,var_5 + 0x4b84,5);
          var_6(pcVar14,entry->the_bfd);
          if (*matching != (char *)0x0) {
            pcVar14 = var_5 + 0x4e4;
            var_7 = matching;
            do {
              var_7 = var_7 + 1;
              var_6(pcVar14);
            } while (*var_7 != (char *)0x0);
          }
          var_6(var_5 + 0x4bb8);
        }
        else if ((var_2 != 0xc) || (var_8 == (type_3 *)0x0)) {
          pcVar14 = (char *)(*(type_11 *)PTR_dcgettext_001dc0a4)
                                      (0,var_5 + 0x4bbc,5);
          var_6(pcVar14,entry->the_bfd);
        }
        var_9 = PTR_input_flags_001dba44;
        var_11 = var_12;
        (*(type_11 *)PTR_bfd_close_001dbecc)(entry->the_bfd);
        pbVar16 = *(type_9 **)var_9;
        local_34 = *(type_8 *)(var_9 + 4);
        new_ptr = (type_3 *)entry->filename;
        entry->the_bfd = (type_9 *)0x0;
        subsbfd = pbVar16;
        var_10((char *)new_ptr);
        puVar4 = PTR_stat_ptr_001dbbf8;
        puVar18 = PTR_ldfile_assumed_script_001dba1c;
        var_13 = *(type_8 **)(var_11 + -0x4fc4);
        if (var_12 + -0x3b70 <= var_13) {
                    /* WARNING: Subroutine does not return */
          var_14(new_ptr);
        }
        var_15 = *(type_4 *)var_9;
        var_16 = *(type_4 *)&entry->flags;
        uVar17 = *(type_8 *)PTR_stat_ptr_001dbbf8;
        *(type_8 **)(var_11 + -0x4fc4) = var_13 + 1;
        *var_13 = uVar17;
        *(type_4 *)var_9 = var_15 & 0xf87f | var_16 & 0x780;
        *(type_3 **)puVar4 = var_8;
        *(type_8 *)puVar18 = 1;
        *(type_8 *)PTR_parser_input_001dba00 = 1;
        var_17();
        var_19 = *(type_7 *)var_9;
        var_20 = *(type_6 **)(var_11 + -0x4fc4);
        *(type_8 *)puVar18 = 0;
        *(type_8 *)(var_9 + 4) = local_34;
        subsbfd = (type_9 *)var_18(subsbfd._0_2_ & 0xffef |
                                  (type_4)(((((type_7)pbVar16 | var_19) << 0xb) >> 0x1f) << 4),
                                  subsbfd._2_2_);
        var_21 = var_12 + -0x3b98;
        *(type_9 **)var_9 = subsbfd;
        var_9 = PTR_fclose_001dbec0;
        puVar18 = PTR_yyin_001dbb64;
        if (var_20 <= var_21) {
                    /* WARNING: Subroutine does not return */
          var_22();
        }
        uVar17 = *(type_8 *)(var_20 + -4);
        *(type_6 **)(var_11 + -0x4fc4) = var_20 + -4;
        *(type_8 *)puVar4 = uVar17;
        (*(type_11 *)var_9)(*(type_8 *)puVar18);
        *(type_8 *)puVar18 = 0;
        *(type_4 *)&entry->flags = *(type_4 *)&entry->flags & 0xffbf | 0x40;
      }
    }
    else {
      var_4 = var_23(entry);
      if (var_4 == 0) {
        pbVar16 = entry->the_bfd;
        var_19 = *(type_7 *)&pbVar16->field_0x28 >> 0x1d;
        if (var_19 == 1) {
          if (((type_10)entry->flags & 0x8000000000000) == 0) {
            var_24(entry);
          }
          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {
            var_25(var_5 + 0x4be0,entry);
          }
          pbVar16 = entry->the_bfd;
        }
        else if (var_19 == 2) {
          var_13 = *(type_8 **)(var_12 + -0x3bc8);
          if (var_13 != (type_8 *)0x0) {
            var_11 = var_5 + 0x4be8;
            do {
              var_2 = (*(type_11 *)PTR_strlen_001dbf90)(*var_13);
              var_27 = (*(type_11 *)PTR_lbasename_001dbffc)(pbVar16->filename);
              uVar17 = *var_13;
              var_26 = (*(type_11 *)PTR_strcmp_001dc144)(uVar17,var_11);
              if (var_26 == 0) {
LAB_0002b5dc:
                *(type_7 *)&pbVar16->field_0x28 = *(type_7 *)&pbVar16->field_0x28 & 0xfffffffb | 4;
                pbVar16 = entry->the_bfd;
                goto LAB_0002b5f0;
              }
              var_26 = (*(type_11 *)PTR_filename_ncmp_001dc054)(uVar17,var_27,var_2);
              if (var_26 == 0) {
                pcVar14 = (char *)(var_27 + var_2);
                if ((*pcVar14 == '\0') ||
                   (((*pcVar14 == '.' && (pcVar14[1] == 'a')) && (pcVar14[2] == '\0'))))
                goto LAB_0002b5dc;
              }
              var_13 = (type_8 *)var_13[1];
            } while (var_13 != (type_8 *)0x0);
            pbVar16 = entry->the_bfd;
          }
LAB_0002b5f0:
          lVar3 = entry->flags;
          pbVar16->usrdata = entry;
          var_11 = var_5;
          if (((type_10)lVar3 & 0x80000000000000) != 0) {
            var_2 = 1;
            var_28 = (type_9 *)0x0;
            var_9 = var_5 + 0x4bec;
            puVar18 = var_5 + 0x4c20;
            while( true ) {
              var_28 = (type_9 *)(*(type_11 *)PTR_bfd_openr_next_archived_file_001dbe78)(pbVar16,var_28)
              ;
              if (var_28 == (type_9 *)0x0) {
                *(type_4 *)&entry->flags = *(type_4 *)&entry->flags & 0xffbf | (type_4)(var_2 << 6);
                return var_2;
              }
              var_27 = (*(type_11 *)PTR_bfd_check_format_001dbe7c)(var_28,1);
              if (var_27 == 0) {
                pcVar14 = (char *)(*(type_11 *)PTR_dcgettext_001dc0a4)(0,var_9,5);
                var_2 = 0;
                var_6(pcVar14,entry->the_bfd,var_28);
              }
              puVar4 = var_29;
              subsbfd = var_28;
              var_27 = (*(type_11 *)**(type_8 **)(var_29 + 0x1c))
                                (var_29,var_28,puVar18,&subsbfd);
              if (var_27 == 0) break;
              var_4 = (*subsbfd->xvec->_bfd_link_add_symbols)(subsbfd,(type_12 *)puVar4);
              if (var_4 == 0) {
                var_2 = 0;
                pcVar14 = (char *)(*(type_11 *)PTR_dcgettext_001dc0a4)(0,var_11 + 0x4c30,5);
                var_6(pcVar14,var_28);
                pbVar16 = entry->the_bfd;
              }
              else {
                pbVar16 = entry->the_bfd;
              }
            }
                    /* WARNING: Subroutine does not return */
            var_30(var_5 + 0x4120,0xb2f,
                     var_5 + 0x40cc);
          }
        }
        var_4 = (*pbVar16->xvec->_bfd_link_add_symbols)
                          (pbVar16,(type_12 *)var_29);
        if (var_4 != 0) {
          *(type_4 *)&entry->flags = *(type_4 *)&entry->flags & 0xffbf | 0x40;
          return 1;
        }
        pcVar14 = (char *)(*(type_11 *)PTR_dcgettext_001dc0a4)
                                    (0,var_5 + 0x4c30,5);
        var_6(pcVar14,entry->the_bfd);
        return (type_7)(*(int *)&entry->flags << 9) >> 0x1f;
      }
    }
  }
  return 1;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (call_expression function: (identifier) arguments: (argument_list)) right: (binary_expression left: (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: (number_literal))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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))))) (number_literal))))) (if_statement condition: (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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))))) (number_literal) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (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: (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (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))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (binary_expression left: (identifier) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) right: (number_literal))) right: (number_literal))))) (field_expression argument: (identifier) field: (field_identifier)))))) (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: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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: (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))))) 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: (identifier))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (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)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence))))))))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (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))))))))) (labeled_statement label: (statement_identifier) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (number_literal))) (expression_statement (assignment_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: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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))))) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier) right: (number_literal))))))))) arguments: (argument_list (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (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)))))))) alternative: (else_clause (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)))))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))))))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal)))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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 (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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)))) right: (number_literal)))))))))) (return_statement (number_literal)))))

uint MASKED(int param_1,int param_2)

{
  ushort uVar1;
  ushort uVar2;
  undefined *puVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined4 *puVar9;
  uint uVar10;
  char *pcVar11;
  uint uVar12;
  int *piVar13;
  undefined4 *puVar14;
  undefined4 uVar15;
  undefined *puVar16;
  undefined *puVar17;
  undefined *puVar18;
  uint local_38;
  undefined4 local_34;
  int *local_30 [2];
  
  if (((*(ushort *)(param_1 + 0x24) & 0x40) == 0) &&
     (ldfile_open_file(), (*(ushort *)(param_1 + 0x24) & 0x10) == 0)) {
    iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(*(undefined4 *)(param_1 + 0x10),2);
    if ((iVar4 == 0) &&
       (iVar4 = (*(code *)PTR_bfd_check_format_matches_001dbeb8)
                          (*(undefined4 *)(param_1 + 0x10),1,local_30), iVar4 == 0)) {
      iVar4 = (*(code *)PTR_bfd_get_error_001dc048)();
      iVar5 = ldemul_unrecognized_file(param_1);
      if (iVar5 == 0) {
        if (iVar4 == 0xd) {
          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4b84,5);
          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));
          if (*local_30[0] != 0) {
            puVar17 = PTR_DAT_001db910 + 0x4e4;
            piVar13 = local_30[0];
            do {
              piVar13 = piVar13 + 1;
              einfo(puVar17);
            } while (*piVar13 != 0);
          }
          einfo(PTR_DAT_001db910 + 0x4bb8);
        }
        else if ((iVar4 != 0xc) || (param_2 == 0)) {
          uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4bbc,5);
          einfo(uVar15,*(undefined4 *)(param_1 + 0x10));
        }
        puVar18 = PTR_input_flags_001dba44;
        puVar17 = PTR_DAT_001db8f8;
        (*(code *)PTR_bfd_close_001dbecc)(*(undefined4 *)(param_1 + 0x10));
        uVar10 = *(uint *)puVar18;
        local_34 = *(undefined4 *)(puVar18 + 4);
        *(undefined4 *)(param_1 + 0x10) = 0;
        local_38 = uVar10;
        ldfile_open_command_file(*(undefined4 *)(param_1 + 8));
        puVar3 = PTR_stat_ptr_001dbbf8;
        puVar16 = PTR_ldfile_assumed_script_001dba1c;
        puVar14 = *(undefined4 **)(puVar17 + -0x4fc4);
        if (PTR_DAT_001db8f8 + -0x3b70 <= puVar14) {
                    /* WARNING: Subroutine does not return */
          FUN_000264a8();
        }
        uVar1 = *(ushort *)puVar18;
        uVar2 = *(ushort *)(param_1 + 0x24);
        uVar15 = *(undefined4 *)PTR_stat_ptr_001dbbf8;
        *(undefined4 **)(puVar17 + -0x4fc4) = puVar14 + 1;
        *puVar14 = uVar15;
        *(ushort *)puVar18 = uVar1 & 0xf87f | uVar2 & 0x780;
        *(int *)puVar3 = param_2;
        *(undefined4 *)puVar16 = 1;
        *(undefined4 *)PTR_parser_input_001dba00 = 1;
        yyparse();
        uVar12 = *(uint *)puVar18;
        puVar8 = *(undefined **)(puVar17 + -0x4fc4);
        *(undefined4 *)puVar16 = 0;
        *(undefined4 *)(puVar18 + 4) = local_34;
        local_38 = CONCAT22(local_38._0_2_ & 0xffef |
                            (ushort)((((uVar10 | uVar12) << 0xb) >> 0x1f) << 4),local_38._2_2_);
        puVar7 = PTR_DAT_001db8f8 + -0x3b98;
        *(uint *)puVar18 = local_38;
        puVar18 = PTR_fclose_001dbec0;
        puVar16 = PTR_yyin_001dbb64;
        if (puVar8 <= puVar7) {
                    /* WARNING: Subroutine does not return */
          FUN_000264dc();
        }
        uVar15 = *(undefined4 *)(puVar8 + -4);
        *(undefined **)(puVar17 + -0x4fc4) = puVar8 + -4;
        *(undefined4 *)puVar3 = uVar15;
        (*(code *)puVar18)(*(undefined4 *)puVar16);
        *(undefined4 *)puVar16 = 0;
        *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;
      }
    }
    else {
      iVar4 = ldemul_recognized_file(param_1);
      if (iVar4 == 0) {
        puVar14 = *(undefined4 **)(param_1 + 0x10);
        if ((uint)puVar14[10] >> 0x1d == 1) {
          if ((*(ushort *)(param_1 + 0x24) & 8) == 0) {
            ldlang_add_file(param_1);
          }
          if (*(int *)PTR_trace_files_001db94c != 0 || *(int *)PTR_verbose_001db950 != 0) {
            info_msg(PTR_DAT_001db910 + 0x4be0,param_1);
          }
          puVar14 = *(undefined4 **)(param_1 + 0x10);
        }
        else if ((uint)puVar14[10] >> 0x1d == 2) {
          puVar9 = *(undefined4 **)(PTR_DAT_001db8f8 + -0x3bc8);
          if (puVar9 != (undefined4 *)0x0) {
            puVar17 = PTR_DAT_001db910 + 0x4be8;
            do {
              iVar4 = (*(code *)PTR_strlen_001dbf90)(*puVar9);
              iVar5 = (*(code *)PTR_lbasename_001dbffc)(*puVar14);
              uVar15 = *puVar9;
              iVar6 = (*(code *)PTR_strcmp_001dc144)(uVar15,puVar17);
              if (iVar6 == 0) {
LAB_0002b5dc:
                puVar14[10] = puVar14[10] & 0xfffffffb | 4;
                puVar14 = *(undefined4 **)(param_1 + 0x10);
                goto LAB_0002b5f0;
              }
              iVar6 = (*(code *)PTR_filename_ncmp_001dc054)(uVar15,iVar5,iVar4);
              if (iVar6 == 0) {
                pcVar11 = (char *)(iVar5 + iVar4);
                if ((*pcVar11 == '\0') ||
                   (((*pcVar11 == '.' && (pcVar11[1] == 'a')) && (pcVar11[2] == '\0'))))
                goto LAB_0002b5dc;
              }
              puVar9 = (undefined4 *)puVar9[1];
            } while (puVar9 != (undefined4 *)0x0);
            puVar14 = *(undefined4 **)(param_1 + 0x10);
          }
LAB_0002b5f0:
          uVar1 = *(ushort *)(param_1 + 0x24);
          puVar14[0x2b] = param_1;
          puVar17 = PTR_DAT_001db910;
          if ((uVar1 & 0x80) != 0) {
            uVar12 = 1;
            uVar10 = 0;
            puVar18 = PTR_DAT_001db910 + 0x4bec;
            puVar16 = PTR_DAT_001db910 + 0x4c20;
            while( true ) {
              uVar10 = (*(code *)PTR_bfd_openr_next_archived_file_001dbe78)(puVar14,uVar10);
              if (uVar10 == 0) {
                *(ushort *)(param_1 + 0x24) =
                     *(ushort *)(param_1 + 0x24) & 0xffbf | (ushort)(uVar12 << 6);
                return uVar12;
              }
              iVar4 = (*(code *)PTR_bfd_check_format_001dbe7c)(uVar10,1);
              if (iVar4 == 0) {
                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar18,5);
                uVar12 = 0;
                einfo(uVar15,*(undefined4 *)(param_1 + 0x10),uVar10);
              }
              puVar3 = PTR_link_info_001db928;
              local_38 = uVar10;
              iVar4 = (*(code *)**(undefined4 **)(PTR_link_info_001db928 + 0x1c))
                                (PTR_link_info_001db928,uVar10,puVar16,&local_38);
              if (iVar4 == 0) break;
              iVar4 = (**(code **)(*(int *)(local_38 + 4) + 0x16c))(local_38,puVar3);
              if (iVar4 == 0) {
                uVar12 = 0;
                uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,puVar17 + 0x4c30,5);
                einfo(uVar15,uVar10);
                puVar14 = *(undefined4 **)(param_1 + 0x10);
              }
              else {
                puVar14 = *(undefined4 **)(param_1 + 0x10);
              }
            }
                    /* WARNING: Subroutine does not return */
            ld_abort(PTR_DAT_001db910 + 0x4120,0xb2f,PTR_DAT_001db910 + 0x40cc);
          }
        }
        iVar4 = (**(code **)(puVar14[1] + 0x16c))(puVar14,PTR_link_info_001db928);
        if (iVar4 != 0) {
          *(ushort *)(param_1 + 0x24) = *(ushort *)(param_1 + 0x24) & 0xffbf | 0x40;
          return 1;
        }
        uVar15 = (*(code *)PTR_dcgettext_001dc0a4)(0,PTR_DAT_001db910 + 0x4c30,5);
        einfo(uVar15,*(undefined4 *)(param_1 + 0x10));
        return (uint)(*(int *)(param_1 + 0x24) << 9) >> 0x1f;
      }
    }
  }
  return 1;
}

