
void print_statement(lang_statement_union_type *s,lang_output_section_statement_type *os)

{
  byte bVar1;
  statement_enum sVar2;
  name_list *pnVar3;
  lang_statement_union_type *plVar4;
  fill_type *pfVar5;
  size_t sVar6;
  undefined8 *puVar7;
  bool bVar8;
  uint uVar9;
  asection *paVar10;
  size_t sVar11;
  char *pcVar12;
  ulong uVar13;
  long lVar14;
  int iVar15;
  uchar *puVar16;
  ulong uVar17;
  asection *current_section;
  char *pcVar18;
  lang_statement_union *plVar19;
  etree_type *tree;
  walk_wild_section_handler_t p_Var20;
  bfd_vma bVar21;
  
  sVar2 = (s->header).type;
  switch(sVar2) {
  case lang_output_section_statement_enum:
    if (s != (lang_statement_union_type *)abs_output_section) {
      paVar10 = (s->output_section_statement).bfd_section;
      minfo("\n%s",(s->wild_statement).children.head);
      if (paVar10 != (asection *)0x0) {
        print_dot = paVar10->vma;
        sVar11 = strlen((s->output_section_statement).name);
        uVar13 = sVar11 & 0xffffffff;
        if (0xe < (int)sVar11) {
          print_nl();
          uVar13 = 0;
        }
        do {
          print_space();
          uVar9 = (int)uVar13 + 1;
          uVar13 = (ulong)uVar9;
        } while (uVar9 != 0x10);
        minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));
        bVar21 = paVar10->lma;
        if (paVar10->vma != bVar21) {
          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);
          minfo(pcVar12,bVar21);
        }
        if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {
          exp_fold_tree((s->output_section_statement).update_dot_tree,
                        (asection *)(_bfd_std_section + 0x230),&print_dot);
        }
      }
      print_nl();
    }
    for (plVar4 = (s->output_section_statement).children.head;
        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {
      print_statement(plVar4,&s->output_section_statement);
    }
    break;
  case lang_assignment_statement_enum:
    iVar15 = 0x10;
    do {
      print_space();
      iVar15 = iVar15 + -1;
    } while (iVar15 != 0);
    paVar10 = (s->input_section).section;
    current_section = os->bfd_section;
    tree = (etree_type *)paVar10->prev;
    if (*(int *)&paVar10->next == 8) {
      bVar8 = false;
      if (current_section == (asection *)0x0) {
        current_section = (asection *)(_bfd_std_section + 0x230);
      }
LAB_001141b0:
      exp_fold_tree(tree,current_section,&print_dot);
      bVar21 = expld.result.value;
      paVar10 = (s->input_section).section;
      if (expld.result.valid_p == 0) goto LAB_00113952;
      if (*(int *)&paVar10->next == 8) {
        if (expld.result.section != (asection *)0x0) {
LAB_00114205:
          bVar21 = expld.result.value + (expld.result.section)->vma;
        }
        minfo("0x%V",bVar21);
        if (bVar8) {
LAB_00114222:
          print_dot = bVar21;
        }
      }
      else {
        if (bVar8) {
          if (expld.result.section != (asection *)0x0) goto LAB_00114205;
          minfo("0x%V",expld.result.value);
          goto LAB_00114222;
        }
        if (expld.assign_name == (char *)0x0) {
          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);
          if (lVar14 == 0) {
            minfo("[unresolved]");
          }
          else {
            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +
                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));
          }
        }
        else {
          if (expld.result.section != (asection *)0x0) goto LAB_00114205;
          minfo("0x%V",expld.result.value);
        }
      }
    }
    else {
      if ((*(char *)tree != '.') ||
         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {
        bVar8 = false;
        expld.assign_name = (char *)tree;
      }
      tree = *(etree_type **)&paVar10->flags;
      if (current_section == (asection *)0x0) {
        current_section = (asection *)(_bfd_std_section + 0x230);
      }
      if (*(int *)&paVar10->next != 5) goto LAB_001141b0;
      expld.result.valid_p = 0;
LAB_00113952:
      if (*(int *)&paVar10->next == 5) {
        minfo("[!provide]");
      }
      else {
        minfo("*undef*   ");
      }
      minfo("        ");
    }
    expld.assign_name = (char *)0x0;
    minfo("                ");
    plVar19 = (s->output_section_statement).children.head;
LAB_001139f8:
    exp_print_tree((etree_type *)plVar19);
    print_nl();
    return;
  case lang_input_statement_enum:
    pcVar12 = (s->wild_statement).filename;
    if ((pcVar12 != (char *)0x0) &&
       (((s->reloc_statement).section == (asection *)0x0 ||
        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)))) {
      pcVar18 = "LOAD %s\n";
      goto LAB_00113cab;
    }
    break;
  case lang_address_statement_enum:
    pcVar12 = (s->wild_statement).filename;
    pcVar18 = (char *)dcgettext(0,"Address of section %s set to ",5);
    minfo(pcVar18,pcVar12);
    plVar19 = (lang_statement_union *)(s->data_statement).exp;
    goto LAB_001139f8;
  case lang_wild_statement_enum:
    print_space();
    if ((s->wild_statement).exclude_name_list != (name_list *)0x0) {
      minfo("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name);
      for (pnVar3 = ((s->wild_statement).exclude_name_list)->next; pnVar3 != (name_list *)0x0;
          pnVar3 = pnVar3->next) {
        minfo(" %s",pnVar3->name);
      }
      minfo(") ");
    }
    if ((s->wild_statement).filenames_sorted != 0) {
      minfo("SORT_BY_NAME(");
    }
    if ((s->wild_statement).filename == (char *)0x0) {
      minfo("*");
    }
    else {
      minfo("%s");
    }
    if ((s->wild_statement).filenames_sorted != 0) {
      minfo(")");
    }
    minfo("(");
    for (paVar10 = (s->reloc_statement).section; paVar10 != (asection *)0x0;
        paVar10 = (asection *)paVar10->name) {
      switch(*(undefined4 *)&paVar10->prev) {
      default:
        iVar15 = 0;
        break;
      case 1:
        iVar15 = 1;
        minfo("SORT_BY_NAME(");
        break;
      case 2:
        iVar15 = 1;
        minfo("SORT_BY_ALIGNMENT(");
        break;
      case 3:
        iVar15 = 2;
        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");
        break;
      case 4:
        iVar15 = 2;
        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");
        break;
      case 5:
        iVar15 = 1;
        minfo("SORT_NONE(");
        break;
      case 6:
        iVar15 = 1;
        minfo("SORT_BY_INIT_PRIORITY(");
      }
      if (paVar10->next != (bfd_section *)0x0) {
        minfo("EXCLUDE_FILE(%s",paVar10->next->name);
        for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;
            puVar7 = (undefined8 *)puVar7[1]) {
          minfo(" %s",*puVar7);
        }
        minfo(") ");
      }
      lVar14._0_4_ = paVar10->id;
      lVar14._4_4_ = paVar10->index;
      if (lVar14 == 0) {
        minfo("*");
      }
      else {
        minfo("%s");
      }
      if ((iVar15 != 0) && (minfo(")"), iVar15 != 1)) {
        minfo(")");
      }
      if (paVar10->name == (char *)0x0) break;
      minfo(" ");
    }
    minfo(")");
    print_nl();
    for (plVar4 = (s->wild_statement).children.head; plVar4 != (lang_statement_union_type *)0x0;
        plVar4 = (plVar4->header).next) {
      print_statement(plVar4,os);
    }
    break;
  case lang_input_section_enum:
    print_input_section((s->input_section).section,0);
    return;
  case lang_object_symbols_statement_enum:
    pcVar12 = " CREATE_OBJECT_SYMBOLS\n";
    goto LAB_00113bd7;
  case lang_fill_statement_enum:
    fwrite(" FILL mask 0x",1,0xd,(FILE *)config.map_file);
    pfVar5 = (s->fill_statement).fill;
    sVar6 = pfVar5->size;
    puVar16 = pfVar5->data;
    if (sVar6 != 0) {
      do {
        bVar1 = *puVar16;
        puVar16 = puVar16 + 1;
        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);
      } while (puVar16 != pfVar5->data + sVar6);
    }
    fputc(10,(FILE *)config.map_file);
    return;
  case lang_data_statement_enum:
    init_opb();
    iVar15 = 0x10;
    do {
      print_space();
      iVar15 = iVar15 + -1;
    } while (iVar15 != 0);
    plVar19 = (s->wild_statement).children.head;
    if ((s->output_section_statement).prev != (lang_output_section_statement_struct *)0x0) {
      plVar19 = (lang_statement_union *)
                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19);
    }
    switch((s->data_statement).type) {
    case 0x11a:
      pcVar12 = "QUAD";
      uVar13 = 8;
      break;
    case 0x11b:
      pcVar12 = "SQUAD";
      uVar13 = 8;
      break;
    case 0x11c:
      pcVar12 = "LONG";
      uVar13 = 4;
      break;
    case 0x11d:
      pcVar12 = "SHORT";
      uVar13 = 2;
      break;
    case 0x11e:
      pcVar12 = "BYTE";
      uVar13 = 1;
      break;
    default:
                    /* WARNING: Subroutine does not return */
      ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement");
    }
    uVar17 = (ulong)(uint)(1 << ((byte)opb_shift & 0x1f));
    if (uVar17 < uVar13) {
      uVar17 = uVar13;
    }
    minfo("0x%V %W %s 0x%v",plVar19,uVar17 >> ((byte)opb_shift & 0x3f),pcVar12,
          (s->wild_statement).section_list);
    if (((s->reloc_statement).howto)->pc_relative != 7) {
      print_space();
      exp_print_tree((s->data_statement).exp);
    }
    print_nl();
    print_dot = (uVar17 >> ((byte)opb_shift & 0x3f)) + (long)plVar19;
    break;
  case lang_reloc_statement_enum:
    init_opb();
    iVar15 = 0x10;
    do {
      print_space();
      iVar15 = iVar15 + -1;
    } while (iVar15 != 0);
    p_Var20 = (s->wild_statement).walk_wild_section_handler;
    if ((s->reloc_statement).output_section != (asection *)0x0) {
      p_Var20 = p_Var20 + ((s->reloc_statement).output_section)->vma;
    }
    uVar9 = bfd_get_reloc_size((s->data_statement).exp);
    minfo("0x%V %W RELOC %s ",p_Var20,(ulong)(uVar9 >> ((byte)opb_shift & 0x3f)),
          ((s->reloc_statement).howto)->name);
    paVar10 = (s->data_statement).output_section;
    if (paVar10 == (asection *)0x0) {
      paVar10 = (asection *)((s->wild_statement).section_list)->next;
    }
    minfo("%s+",paVar10);
    exp_print_tree((etree_type *)(s->wild_statement).children.head);
    print_nl();
    print_dot = (bfd_vma)(p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f)));
    break;
  case lang_target_statement_enum:
    pcVar12 = (s->wild_statement).filename;
    pcVar18 = "TARGET(%s)\n";
LAB_00113cab:
    fprintf((FILE *)config.map_file,pcVar18,pcVar12);
    return;
  case lang_output_statement_enum:
    minfo("OUTPUT(%s",(s->wild_statement).filename);
    if (output_target != (char *)0x0) {
      minfo(" %s");
    }
    pcVar12 = ")\n";
LAB_00113bd7:
    minfo(pcVar12);
    return;
  case lang_padding_statement_enum:
    init_opb();
    iVar15 = 9;
    minfo(" *fill*");
    do {
      print_space();
      iVar15 = iVar15 + -1;
    } while (iVar15 != 0);
    pcVar12 = (s->wild_statement).filename;
    if ((s->output_section_statement).next != (lang_output_section_statement_struct *)0x0) {
      pcVar12 = pcVar12 + (long)((s->output_section_statement).next)->prev;
    }
    minfo("0x%V %W ",pcVar12,(s->padding_statement).size >> ((byte)opb_shift & 0x3f));
    pfVar5 = (s->padding_statement).fill;
    sVar6 = pfVar5->size;
    if (sVar6 != 0) {
      puVar16 = pfVar5->data;
      do {
        bVar1 = *puVar16;
        puVar16 = puVar16 + 1;
        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);
      } while (puVar16 != pfVar5->data + sVar6);
    }
    print_nl();
    print_dot = (bfd_vma)(pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f)));
    break;
  case lang_group_statement_enum:
    fwrite("START GROUP\n",1,0xc,(FILE *)config.map_file);
    for (plVar4 = (s->output_section_statement).children.head;
        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {
      print_statement(plVar4,os);
    }
    fwrite("END GROUP\n",1,10,(FILE *)config.map_file);
    return;
  case lang_insert_statement_enum:
    pcVar12 = "BEFORE";
    if ((s->wild_statement).filenames_sorted == 0) {
      pcVar12 = "AFTER";
    }
    minfo("INSERT %s %s\n",pcVar12,(s->wild_statement).filename);
    return;
  case lang_constructors_statement_enum:
    if (constructor_list.head != (lang_statement_union *)0x0) {
      if (constructors_sorted == 0) {
        minfo(" CONSTRUCTORS\n");
        plVar4 = constructor_list.head;
      }
      else {
        minfo(" SORT (CONSTRUCTORS)\n");
        plVar4 = constructor_list.head;
      }
      for (; plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {
        print_statement(plVar4,os);
      }
    }
    break;
  default:
    pcVar12 = (char *)dcgettext(0,"Fail with %d\n",5);
    fprintf((FILE *)config.map_file,pcVar12,(ulong)sVar2);
    info_assert("../../ld/ldlang.c",0x11bc);
    return;
  }
  return;
}



void FUN_001138c0(long param_1,long param_2)

{
  byte bVar1;
  undefined8 *puVar2;
  long *plVar3;
  bool bVar4;
  uint uVar5;
  undefined8 uVar6;
  size_t sVar7;
  undefined8 uVar8;
  char *pcVar9;
  ulong uVar10;
  int iVar11;
  byte *pbVar12;
  ulong uVar13;
  long lVar14;
  long lVar15;
  
  uVar5 = *(uint *)(param_1 + 8);
  switch(uVar5) {
  case 0:
    if (param_1 != DAT_00185970) {
      lVar15 = *(long *)(param_1 + 0x38);
      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));
      if (lVar15 != 0) {
        DAT_00185390 = *(long *)(lVar15 + 0x28);
        sVar7 = strlen(*(char **)(param_1 + 0x30));
        uVar10 = sVar7 & 0xffffffff;
        if (0xe < (int)sVar7) {
          FUN_001242a0();
          uVar10 = 0;
        }
        do {
          FUN_00124280();
          uVar5 = (int)uVar10 + 1;
          uVar10 = (ulong)uVar5;
        } while (uVar5 != 0x10);
        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),
                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));
        lVar14 = *(long *)(lVar15 + 0x30);
        if (*(long *)(lVar15 + 0x28) != lVar14) {
          uVar8 = dcgettext(0," load address 0x%V",5);
          FUN_00125300(uVar8,lVar14);
        }
        if (*(long *)(param_1 + 0x68) != 0) {
          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);
        }
      }
      FUN_001242a0();
    }
    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;
        puVar2 = (undefined8 *)*puVar2) {
      FUN_001138c0(puVar2,param_1);
    }
    break;
  case 1:
    iVar11 = 0x10;
    do {
      FUN_00124280();
      iVar11 = iVar11 + -1;
    } while (iVar11 != 0);
    lVar15 = *(long *)(param_1 + 0x10);
    lVar14 = *(long *)(param_2 + 0x38);
    pcVar9 = *(char **)(lVar15 + 0x18);
    if (*(int *)(lVar15 + 0x10) == 8) {
      bVar4 = false;
      if (lVar14 == 0) {
        lVar14 = 0x184c90;
      }
LAB_001141b0:
      FUN_00123130(pcVar9,lVar14,&DAT_00185390);
      lVar14 = DAT_00185c60;
      lVar15 = *(long *)(param_1 + 0x10);
      if (DAT_00185c78 == 0) goto LAB_00113952;
      if (*(int *)(lVar15 + 0x10) == 8) {
        if (DAT_00185c70 != 0) {
LAB_00114205:
          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);
        }
        FUN_00125300("0x%V",lVar14);
        if (bVar4) {
LAB_00114222:
          DAT_00185390 = lVar14;
        }
      }
      else {
        if (bVar4) {
          if (DAT_00185c70 != 0) goto LAB_00114205;
          FUN_00125300("0x%V",DAT_00185c60);
          goto LAB_00114222;
        }
        if (DAT_00185c50 == (char *)0x0) {
          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);
          if (lVar15 == 0) {
            FUN_00125300("[unresolved]");
          }
          else {
            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +
                                  *(long *)(lVar15 + 0x30) +
                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));
          }
        }
        else {
          if (DAT_00185c70 != 0) goto LAB_00114205;
          FUN_00125300("0x%V",DAT_00185c60);
        }
      }
    }
    else {
      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {
        bVar4 = false;
        DAT_00185c50 = pcVar9;
      }
      pcVar9 = *(char **)(lVar15 + 0x20);
      if (lVar14 == 0) {
        lVar14 = 0x184c90;
      }
      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;
      DAT_00185c78 = 0;
LAB_00113952:
      if (*(int *)(lVar15 + 0x10) == 5) {
        FUN_00125300("[!provide]");
      }
      else {
        FUN_00125300("*undef*   ");
      }
      FUN_00125300(&DAT_0013f03e);
    }
    DAT_00185c50 = (char *)0x0;
    FUN_00125300(&DAT_0013f036);
    uVar8 = *(undefined8 *)(param_1 + 0x10);
LAB_001139f8:
    FUN_00123490(uVar8);
    FUN_001242a0();
    return;
  case 2:
    lVar15 = *(long *)(param_1 + 0x10);
    if ((lVar15 != 0) &&
       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))
       )) {
      pcVar9 = "LOAD %s\n";
      goto LAB_00113cab;
    }
    break;
  case 3:
    uVar8 = *(undefined8 *)(param_1 + 0x10);
    uVar6 = dcgettext(0,"Address of section %s set to ",5);
    FUN_00125300(uVar6,uVar8);
    uVar8 = *(undefined8 *)(param_1 + 0x18);
    goto LAB_001139f8;
  case 4:
    FUN_00124280();
    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {
      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));
      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;
          puVar2 = (undefined8 *)puVar2[1]) {
        FUN_00125300(&DAT_0013d727,*puVar2);
      }
      FUN_00125300(&DAT_0013ef27);
    }
    if (*(int *)(param_1 + 0x18) != 0) {
      FUN_00125300("SORT_BY_NAME(");
    }
    if (*(long *)(param_1 + 0x10) == 0) {
      FUN_00125300(&DAT_0013f157);
    }
    else {
      FUN_00125300(&DAT_0013efee);
    }
    if (*(int *)(param_1 + 0x18) != 0) {
      FUN_00125300(")");
    }
    FUN_00125300("(");
    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {
      switch((int)plVar3[3]) {
      default:
        iVar11 = 0;
        break;
      case 1:
        iVar11 = 1;
        FUN_00125300("SORT_BY_NAME(");
        break;
      case 2:
        iVar11 = 1;
        FUN_00125300("SORT_BY_ALIGNMENT(");
        break;
      case 3:
        iVar11 = 2;
        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");
        break;
      case 4:
        iVar11 = 2;
        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");
        break;
      case 5:
        iVar11 = 1;
        FUN_00125300("SORT_NONE(");
        break;
      case 6:
        iVar11 = 1;
        FUN_00125300("SORT_BY_INIT_PRIORITY(");
      }
      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {
        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);
        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;
            puVar2 = (undefined8 *)puVar2[1]) {
          FUN_00125300(&DAT_0013d727,*puVar2);
        }
        FUN_00125300(&DAT_0013ef27);
      }
      if (plVar3[1] == 0) {
        FUN_00125300(&DAT_0013f157);
      }
      else {
        FUN_00125300(&DAT_0013efee);
      }
      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {
        FUN_00125300(")");
      }
      if (*plVar3 == 0) break;
      FUN_00125300(&DAT_0013f045);
    }
    FUN_00125300(")");
    FUN_001242a0();
    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;
        puVar2 = (undefined8 *)*puVar2) {
      FUN_001138c0(puVar2,param_2);
    }
    break;
  case 5:
    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);
    return;
  case 6:
    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";
    goto LAB_00113bd7;
  case 7:
    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);
    plVar3 = *(long **)(param_1 + 0x10);
    lVar15 = *plVar3;
    pbVar12 = (byte *)(plVar3 + 1);
    if (lVar15 != 0) {
      do {
        bVar1 = *pbVar12;
        pbVar12 = pbVar12 + 1;
        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);
      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));
    }
    fputc(10,DAT_00185bd8);
    return;
  case 8:
    FUN_00113550();
    iVar11 = 0x10;
    do {
      FUN_00124280();
      iVar11 = iVar11 + -1;
    } while (iVar11 != 0);
    lVar15 = *(long *)(param_1 + 0x30);
    if (*(long *)(param_1 + 0x28) != 0) {
      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);
    }
    switch(*(undefined4 *)(param_1 + 0x10)) {
    case 0x11a:
      pcVar9 = "QUAD";
      uVar10 = 8;
      break;
    case 0x11b:
      pcVar9 = "SQUAD";
      uVar10 = 8;
      break;
    case 0x11c:
      pcVar9 = "LONG";
      uVar10 = 4;
      break;
    case 0x11d:
      pcVar9 = "SHORT";
      uVar10 = 2;
      break;
    case 0x11e:
      pcVar9 = "BYTE";
      uVar10 = 1;
      break;
    default:
                    /* WARNING: Subroutine does not return */
      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");
    }
    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));
    if (uVar13 < uVar10) {
      uVar13 = uVar10;
    }
    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,
                 *(undefined8 *)(param_1 + 0x20));
    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {
      FUN_00124280();
      FUN_00123490(*(undefined8 *)(param_1 + 0x18));
    }
    FUN_001242a0();
    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;
    break;
  case 9:
    FUN_00113550();
    iVar11 = 0x10;
    do {
      FUN_00124280();
      iVar11 = iVar11 + -1;
    } while (iVar11 != 0);
    lVar15 = *(long *)(param_1 + 0x48);
    if (*(long *)(param_1 + 0x40) != 0) {
      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);
    }
    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));
    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),
                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));
    lVar14 = *(long *)(param_1 + 0x28);
    if (lVar14 == 0) {
      lVar14 = **(long **)(param_1 + 0x20);
    }
    FUN_00125300(&DAT_0013efd8,lVar14);
    FUN_00123490(*(undefined8 *)(param_1 + 0x30));
    FUN_001242a0();
    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;
    break;
  case 10:
    lVar15 = *(long *)(param_1 + 0x10);
    pcVar9 = "TARGET(%s)\n";
LAB_00113cab:
    fprintf(DAT_00185bd8,pcVar9,lVar15);
    return;
  case 0xb:
    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));
    if (DAT_00185998 != 0) {
      FUN_00125300(&DAT_0013d727);
    }
    pcVar9 = ")\n";
LAB_00113bd7:
    FUN_00125300(pcVar9);
    return;
  case 0xc:
    FUN_00113550();
    iVar11 = 9;
    FUN_00125300(" *fill*");
    do {
      FUN_00124280();
      iVar11 = iVar11 + -1;
    } while (iVar11 != 0);
    lVar15 = *(long *)(param_1 + 0x10);
    if (*(long *)(param_1 + 0x20) != 0) {
      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);
    }
    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));
    plVar3 = *(long **)(param_1 + 0x28);
    lVar14 = *plVar3;
    if (lVar14 != 0) {
      pbVar12 = (byte *)(plVar3 + 1);
      do {
        bVar1 = *pbVar12;
        pbVar12 = pbVar12 + 1;
        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);
      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));
    }
    FUN_001242a0();
    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;
    break;
  case 0xd:
    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);
    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;
        puVar2 = (undefined8 *)*puVar2) {
      FUN_001138c0(puVar2,param_2);
    }
    fwrite("END GROUP\n",1,10,DAT_00185bd8);
    return;
  case 0xe:
    pcVar9 = "BEFORE";
    if (*(int *)(param_1 + 0x18) == 0) {
      pcVar9 = "AFTER";
    }
    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));
    return;
  case 0xf:
    if (DAT_001859c0 != (undefined8 *)0x0) {
      if (DAT_001859d0 == 0) {
        FUN_00125300(" CONSTRUCTORS\n");
        puVar2 = DAT_001859c0;
      }
      else {
        FUN_00125300(" SORT (CONSTRUCTORS)\n");
        puVar2 = DAT_001859c0;
      }
      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {
        FUN_001138c0(puVar2,param_2);
      }
    }
    break;
  default:
    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);
    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);
    FUN_001252c0("../../ld/ldlang.c",0x11bc);
    return;
  }
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x8
MOV EBP,dword ptr [RDI + 0x8]
CMP EBP,0xf
JA 0x00113fe0
LEA RDX,[0x13ea80]
MOV RBX,RDI
MOV R12,RSI
MOVSXD RAX,dword ptr [RDX + RBP*0x4]
ADD RAX,RDX
JMP RAX
MOV EBP,0x10
NOP dword ptr [RAX]
CALL 0x00124280
SUB EBP,0x1
JNZ 0x001138f8
MOV RAX,qword ptr [RBX + 0x10]
MOV RSI,qword ptr [R12 + 0x38]
MOV EDX,dword ptr [RAX + 0x10]
MOV RDI,qword ptr [RAX + 0x18]
CMP EDX,0x8
JZ 0x001141a0
CMP byte ptr [RDI],0x2e
JZ 0x001143e0
MOV qword ptr [0x00185c50],RDI
XOR EBP,EBP
TEST RSI,RSI
LEA RCX,[0x184c90]
MOV RDI,qword ptr [RAX + 0x20]
CMOVZ RSI,RCX
CMP EDX,0x5
JNZ 0x001141b0
MOV dword ptr [0x00185c78],0x0
CMP dword ptr [RAX + 0x10],0x5
JZ 0x001143f4
LEA RDI,[0x13f02b]
XOR EAX,EAX
CALL 0x00125300
LEA RDI,[0x13f03e]
XOR EAX,EAX
CALL 0x00125300
LEA RDI,[0x13f036]
XOR EAX,EAX
MOV qword ptr [0x00185c50],0x0
CALL 0x00125300
MOV RDI,qword ptr [RBX + 0x10]
JMP 0x001139f8
MOV RDX,qword ptr [RDI + 0x10]
TEST RDX,RDX
JZ 0x00113c8d
MOV RAX,qword ptr [RDI + 0x20]
TEST RAX,RAX
JZ 0x001139c0
TEST byte ptr [RAX + 0x46],0x2
JNZ 0x00113c8d
LEA RSI,[0x13f05d]
JMP 0x00113cab
MOV RBP,qword ptr [RDI + 0x10]
MOV EDX,0x5
LEA RSI,[0x13ef6d]
XOR EDI,EDI
CALL 0x001092e0
MOV RDI,RAX
MOV RSI,RBP
XOR EAX,EAX
CALL 0x00125300
MOV RDI,qword ptr [RBX + 0x18]
CALL 0x00123490
ADD RSP,0x8
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
JMP 0x001242a0
CALL 0x00124280
MOV RAX,qword ptr [RBX + 0x40]
TEST RAX,RAX
JZ 0x00113a6d
MOV RSI,qword ptr [RAX]
LEA RDI,[0x13ef17]
XOR EAX,EAX
LEA R13,[0x13d727]
CALL 0x00125300
MOV RAX,qword ptr [RBX + 0x40]
MOV RBP,qword ptr [RAX + 0x8]
TEST RBP,RBP
JZ 0x00113a5f
NOP dword ptr [RAX + RAX*0x1]
MOV RSI,qword ptr [RBP]
MOV RDI,R13
XOR EAX,EAX
CALL 0x00125300
MOV RBP,qword ptr [RBP + 0x8]
TEST RBP,RBP
JNZ 0x00113a48
LEA RDI,[0x13ef27]
XOR EAX,EAX
CALL 0x00125300
MOV ESI,dword ptr [RBX + 0x18]
TEST ESI,ESI
JNZ 0x00114230
MOV RSI,qword ptr [RBX + 0x10]
TEST RSI,RSI
JZ 0x00114258
LEA RDI,[0x13efee]
XOR EAX,EAX
CALL 0x00125300
MOV ECX,dword ptr [RBX + 0x18]
TEST ECX,ECX
JNZ 0x001143c8
LEA RDI,[0x141568]
XOR EAX,EAX
LEA R14,[0x13d727]
CALL 0x00125300
MOV RBP,qword ptr [RBX + 0x20]
TEST RBP,RBP
JZ 0x001140b8
CMP dword ptr [RBP + 0x18],0x6
JA 0x00114190
MOV EAX,dword ptr [RBP + 0x18]
LEA RCX,[0x13eac0]
MOVSXD RAX,dword ptr [RCX + RAX*0x4]
ADD RAX,RCX
JMP RAX
MOV RDI,qword ptr [RDI + 0x10]
ADD RSP,0x8
XOR ESI,ESI
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
JMP 0x001135c0
MOV RCX,qword ptr [0x00185bd8]
MOV EDX,0xd
MOV ESI,0x1
LEA RDI,[0x13efa3]
LEA RBP,[0x13efb1]
CALL 0x00109ad0
MOV RAX,qword ptr [RBX + 0x10]
MOV RDX,qword ptr [RAX]
LEA RBX,[RAX + 0x8]
LEA R12,[RAX + RDX*0x1 + 0x8]
TEST RDX,RDX
JZ 0x00113b5d
NOP dword ptr [RAX]
MOVZX EDX,byte ptr [RBX]
MOV RDI,qword ptr [0x00185bd8]
MOV RSI,RBP
XOR EAX,EAX
ADD RBX,0x1
CALL 0x00109670
CMP RBX,R12
JNZ 0x00113b40
MOV RSI,qword ptr [0x00185bd8]
ADD RSP,0x8
MOV EDI,0xa
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
JMP 0x001094e0
CALL 0x00113550
MOV EBP,0x10
NOP word ptr [RAX + RAX*0x1]
CALL 0x00124280
SUB EBP,0x1
JNZ 0x00113b90
MOV RAX,qword ptr [RBX + 0x28]
MOV R12,qword ptr [RBX + 0x30]
TEST RAX,RAX
JZ 0x00113bab
ADD R12,qword ptr [RAX + 0x28]
MOV EAX,dword ptr [RBX + 0x10]
SUB EAX,0x11a
CMP EAX,0x4
JA 0x001144ce
LEA RDX,[0x13eadc]
MOVSXD RAX,dword ptr [RDX + RAX*0x4]
ADD RAX,RDX
JMP RAX
LEA RDI,[0x13ef8b]
ADD RSP,0x8
XOR EAX,EAX
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
JMP 0x00125300
CALL 0x00113550
MOV EBP,0x10
NOP word ptr [RAX + RAX*0x1]
CALL 0x00124280
SUB EBP,0x1
JNZ 0x00113c00
MOV RAX,qword ptr [RBX + 0x40]
MOV R12,qword ptr [RBX + 0x48]
TEST RAX,RAX
JZ 0x00113c1b
ADD R12,qword ptr [RAX + 0x28]
MOV RDI,qword ptr [RBX + 0x18]
CALL 0x00109320
MOV ECX,dword ptr [0x00185308]
MOV RSI,R12
LEA RDI,[0x13efc6]
MOV EBP,EAX
MOV RAX,qword ptr [RBX + 0x18]
MOV RDX,RBP
MOV RAX,qword ptr [RAX + 0x28]
SHR RDX,CL
MOV RCX,RAX
XOR EAX,EAX
CALL 0x00125300
MOV RSI,qword ptr [RBX + 0x28]
TEST RSI,RSI
JZ 0x00114248
XOR EAX,EAX
LEA RDI,[0x13efd8]
CALL 0x00125300
MOV RDI,qword ptr [RBX + 0x30]
CALL 0x00123490
CALL 0x001242a0
MOV ECX,dword ptr [0x00185308]
MOV RAX,RBP
SHR RAX,CL
ADD RAX,R12
MOV qword ptr [0x00185390],RAX
ADD RSP,0x8
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RDX,qword ptr [RDI + 0x10]
LEA RSI,[0x13f047]
MOV RDI,qword ptr [0x00185bd8]
ADD RSP,0x8
XOR EAX,EAX
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
JMP 0x00109670
MOV RCX,qword ptr [0x00185bd8]
MOV EDX,0xc
MOV ESI,0x1
LEA RDI,[0x13f066]
CALL 0x00109ad0
MOV RBX,qword ptr [RBX + 0x10]
TEST RBX,RBX
JZ 0x00113d13
NOP word ptr CS:[RAX + RAX*0x1]
MOV RDI,RBX
MOV RSI,R12
CALL 0x001138c0
MOV RBX,qword ptr [RBX]
TEST RBX,RBX
JNZ 0x00113d00
MOV RCX,qword ptr [0x00185bd8]
ADD RSP,0x8
MOV EDX,0xa
MOV ESI,0x1
POP RBX
LEA RDI,[0x13f073]
POP RBP
POP R12
POP R13
POP R14
POP R15
JMP 0x00109ad0
MOV EAX,dword ptr [RDI + 0x18]
LEA RSI,[0x1302f3]
MOV RDX,qword ptr [RDI + 0x10]
LEA RDI,[0x13f07e]
TEST EAX,EAX
LEA RAX,[0x1302ed]
CMOVZ RSI,RAX
ADD RSP,0x8
XOR EAX,EAX
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
JMP 0x00125300
CMP qword ptr [0x001859c0],0x0
JZ 0x00113c8d
MOV EDI,dword ptr [0x001859d0]
TEST EDI,EDI
JZ 0x001143b0
LEA RDI,[0x13eef2]
XOR EAX,EAX
CALL 0x00125300
MOV RBX,qword ptr [0x001859c0]
TEST RBX,RBX
JZ 0x00113c8d
NOP word ptr [RAX + RAX*0x1]
MOV RDI,RBX
MOV RSI,R12
CALL 0x001138c0
MOV RBX,qword ptr [RBX]
TEST RBX,RBX
JNZ 0x00113dc0
JMP 0x00113c8d
CMP RDI,qword ptr [0x00185970]
JZ 0x00113eab
MOV R12,qword ptr [RDI + 0x38]
MOV RSI,qword ptr [RDI + 0x30]
XOR EAX,EAX
LEA RDI,[0x13efed]
CALL 0x00125300
TEST R12,R12
JZ 0x00113ea6
MOV RAX,qword ptr [R12 + 0x28]
MOV RDI,qword ptr [RBX + 0x30]
MOV qword ptr [0x00185390],RAX
CALL 0x00109310
MOV EBP,EAX
CMP EAX,0xe
JG 0x00114450
NOP dword ptr [RAX]
CALL 0x00124280
ADD EBP,0x1
CMP EBP,0x10
JNZ 0x00113e30
MOV ECX,dword ptr [0x00185308]
MOV RDX,qword ptr [R12 + 0x38]
LEA RDI,[0x13eff1]
XOR EAX,EAX
MOV RSI,qword ptr [R12 + 0x28]
SHR RDX,CL
CALL 0x00125300
MOV RBP,qword ptr [R12 + 0x30]
CMP qword ptr [R12 + 0x28],RBP
JZ 0x00113e8a
LEA RSI,[0x13eff9]
XOR EDI,EDI
MOV EDX,0x5
CALL 0x001092e0
MOV RSI,RBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00125300
MOV RDI,qword ptr [RBX + 0x68]
TEST RDI,RDI
JZ 0x00113ea6
LEA RDX,[0x185390]
LEA RSI,[0x184c90]
CALL 0x00123130
CALL 0x001242a0
MOV RBP,qword ptr [RBX + 0x10]
TEST RBP,RBP
JZ 0x00113c8d
NOP dword ptr [RAX + RAX*0x1]
MOV RDI,RBP
MOV RSI,RBX
CALL 0x001138c0
MOV RBP,qword ptr [RBP]
TEST RBP,RBP
JNZ 0x00113ec0
JMP 0x00113c8d
MOV RSI,qword ptr [RDI + 0x10]
XOR EAX,EAX
LEA RDI,[0x13f053]
CALL 0x00125300
MOV RSI,qword ptr [0x00185998]
TEST RSI,RSI
JZ 0x00113f0c
LEA RDI,[0x13d727]
XOR EAX,EAX
CALL 0x00125300
LEA RDI,[0x13ef05]
JMP 0x00113bd7
CALL 0x00113550
LEA RDI,[0x13efdc]
XOR EAX,EAX
MOV EBP,0x9
CALL 0x00125300
NOP dword ptr [RAX + RAX*0x1]
CALL 0x00124280
SUB EBP,0x1
JNZ 0x00113f40
MOV RAX,qword ptr [RBX + 0x20]
MOV R12,qword ptr [RBX + 0x10]
TEST RAX,RAX
JZ 0x00113f5b
ADD R12,qword ptr [RAX + 0x28]
MOV ECX,dword ptr [0x00185308]
MOV RDX,qword ptr [RBX + 0x18]
XOR EAX,EAX
MOV RSI,R12
LEA RDI,[0x13efe4]
SHR RDX,CL
CALL 0x00125300
MOV RAX,qword ptr [RBX + 0x28]
MOV RDX,qword ptr [RAX]
TEST RDX,RDX
JZ 0x00113fb6
LEA RBP,[RAX + 0x8]
LEA R14,[RAX + RDX*0x1 + 0x8]
LEA R13,[0x13efb1]
NOP dword ptr [RAX]
MOVZX EDX,byte ptr [RBP]
MOV RDI,qword ptr [0x00185bd8]
MOV RSI,R13
XOR EAX,EAX
ADD RBP,0x1
CALL 0x00109670
CMP RBP,R14
JNZ 0x00113f98
CALL 0x001242a0
MOV RAX,qword ptr [RBX + 0x18]
MOV ECX,dword ptr [0x00185308]
SHR RAX,CL
ADD RAX,R12
MOV qword ptr [0x00185390],RAX
JMP 0x00113c8d
MOV EDX,0x5
LEA RSI,[0x13eee4]
XOR EDI,EDI
CALL 0x001092e0
MOV RDI,qword ptr [0x00185bd8]
MOV EDX,EBP
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00109670
ADD RSP,0x8
MOV ESI,0x11bc
LEA RDI,[0x13ee66]
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
JMP 0x001252c0
LEA RDI,[0x13ef4b]
XOR EAX,EAX
MOV R13D,0x1
CALL 0x00125300
NOP dword ptr [RAX]
MOV RAX,qword ptr [RBP + 0x10]
TEST RAX,RAX
JNZ 0x00114360
MOV RSI,qword ptr [RBP + 0x8]
TEST RSI,RSI
JZ 0x00114348
LEA RDI,[0x13efee]
XOR EAX,EAX
CALL 0x00125300
TEST R13D,R13D
JZ 0x0011408f
XOR EAX,EAX
LEA RDI,[0x135291]
CALL 0x00125300
CMP R13D,0x1
JZ 0x0011408f
LEA RDI,[0x135291]
XOR EAX,EAX
CALL 0x00125300
CMP qword ptr [RBP],0x0
JZ 0x001140b8
LEA RDI,[0x13f045]
XOR EAX,EAX
CALL 0x00125300
MOV RBP,qword ptr [RBP]
TEST RBP,RBP
JNZ 0x00113ac0
NOP dword ptr [RAX]
LEA RDI,[0x135291]
XOR EAX,EAX
CALL 0x00125300
CALL 0x001242a0
MOV RBX,qword ptr [RBX + 0x30]
TEST RBX,RBX
JZ 0x00113c8d
MOV RDI,RBX
MOV RSI,R12
CALL 0x001138c0
MOV RBX,qword ptr [RBX]
TEST RBX,RBX
JNZ 0x001140d8
JMP 0x00113c8d
LEA RDI,[0x13ef56]
XOR EAX,EAX
MOV R13D,0x1
CALL 0x00125300
JMP 0x00114040
LEA RDI,[0x13f428]
XOR EAX,EAX
MOV R13D,0x2
CALL 0x00125300
JMP 0x00114040
LEA RDI,[0x13f408]
XOR EAX,EAX
MOV R13D,0x2
CALL 0x00125300
JMP 0x00114040
LEA RDI,[0x13ef38]
XOR EAX,EAX
MOV R13D,0x1
CALL 0x00125300
JMP 0x00114040
LEA RDI,[0x13ef2a]
XOR EAX,EAX
MOV R13D,0x1
CALL 0x00125300
JMP 0x00114040
XOR R13D,R13D
JMP 0x00114040
XOR EBP,EBP
LEA RAX,[0x184c90]
TEST RSI,RSI
CMOVZ RSI,RAX
LEA RDX,[0x185390]
CALL 0x00123130
MOV EDX,dword ptr [0x00185c78]
MOV RAX,qword ptr [RBX + 0x10]
TEST EDX,EDX
JZ 0x00113952
CMP dword ptr [RAX + 0x10],0x8
JZ 0x00114407
TEST EBP,EBP
JNZ 0x00114423
CMP qword ptr [0x00185c50],0x0
JZ 0x00114472
MOV RAX,qword ptr [0x00185c70]
MOV R12,qword ptr [0x00185c60]
TEST RAX,RAX
JZ 0x0011445c
ADD R12,qword ptr [RAX + 0x28]
XOR EAX,EAX
MOV RSI,R12
LEA RDI,[0x13f007]
CALL 0x00125300
TEST EBP,EBP
JZ 0x00113978
MOV qword ptr [0x00185390],R12
JMP 0x00113978
LEA RDI,[0x13ef2a]
XOR EAX,EAX
CALL 0x00125300
JMP 0x00113a78
MOV RAX,qword ptr [RBX + 0x20]
MOV RSI,qword ptr [RAX]
JMP 0x00113c5b
LEA RDI,[0x13f157]
XOR EAX,EAX
CALL 0x00125300
JMP 0x00113a93
LEA RSI,[0x1302c6]
MOV EAX,0x8
NOP dword ptr [RAX]
MOV ECX,dword ptr [0x00185308]
MOV EBP,0x1
MOV R8,qword ptr [RBX + 0x20]
LEA RDI,[0x13efb6]
SHL EBP,CL
CMP RBP,RAX
CMOVC RBP,RAX
XOR EAX,EAX
MOV RDX,RBP
SHR RDX,CL
MOV RCX,RSI
MOV RSI,R12
CALL 0x00125300
MOV RAX,qword ptr [RBX + 0x18]
CMP dword ptr [RAX + 0x10],0x7
JZ 0x001142ca
CALL 0x00124280
MOV RDI,qword ptr [RBX + 0x18]
CALL 0x00123490
CALL 0x001242a0
MOV ECX,dword ptr [0x00185308]
SHR RBP,CL
ADD RBP,R12
MOV qword ptr [0x00185390],RBP
JMP 0x00113c8d
LEA RSI,[0x1302d6]
MOV EAX,0x1
JMP 0x00114280
LEA RSI,[0x1302d0]
MOV EAX,0x2
JMP 0x00114280
LEA RSI,[0x1302cb]
MOV EAX,0x4
JMP 0x00114280
LEA RSI,[0x1302c5]
MOV EAX,0x8
JMP 0x00114280
LEA RDI,[0x13f157]
XOR EAX,EAX
CALL 0x00125300
JMP 0x00114068
MOV RSI,qword ptr [RAX]
LEA RDI,[0x13ef17]
XOR EAX,EAX
CALL 0x00125300
MOV RAX,qword ptr [RBP + 0x10]
MOV R15,qword ptr [RAX + 0x8]
TEST R15,R15
JZ 0x00114396
NOP
MOV RSI,qword ptr [R15]
MOV RDI,R14
XOR EAX,EAX
CALL 0x00125300
MOV R15,qword ptr [R15 + 0x8]
TEST R15,R15
JNZ 0x00114380
LEA RDI,[0x13ef27]
XOR EAX,EAX
CALL 0x00125300
JMP 0x0011404d
LEA RDI,[0x13ef08]
XOR EAX,EAX
CALL 0x00125300
JMP 0x00113daa
LEA RDI,[0x135291]
XOR EAX,EAX
CALL 0x00125300
JMP 0x00113a9e
CMP byte ptr [RDI + 0x1],0x0
MOV EBP,0x1
JZ 0x0011392d
JMP 0x00113924
LEA RDI,[0x13f020]
XOR EAX,EAX
CALL 0x00125300
JMP 0x0011396a
MOV RAX,qword ptr [0x00185c70]
MOV R12,qword ptr [0x00185c60]
TEST RAX,RAX
JNZ 0x00114205
JMP 0x00114209
MOV RAX,qword ptr [0x00185c70]
MOV R12,qword ptr [0x00185c60]
TEST RAX,RAX
JNZ 0x00114205
MOV RSI,R12
LEA RDI,[0x13f007]
XOR EAX,EAX
CALL 0x00125300
JMP 0x00114222
CALL 0x001242a0
XOR EBP,EBP
JMP 0x00113e30
MOV RSI,R12
LEA RDI,[0x13f007]
XOR EAX,EAX
CALL 0x00125300
JMP 0x00113978
MOV RSI,qword ptr [RAX + 0x18]
MOV RDI,qword ptr [0x00185a28]
XOR ECX,ECX
XOR EDX,EDX
MOV R8D,0x1
CALL 0x00109590
TEST RAX,RAX
JZ 0x001144bb
MOV RCX,qword ptr [RAX + 0x28]
LEA RDI,[0x13f00c]
MOV RDX,qword ptr [RCX + 0x60]
ADD RDX,qword ptr [RAX + 0x30]
MOV RAX,qword ptr [RCX + 0x68]
ADD RDX,qword ptr [RAX + 0x28]
XOR EAX,EAX
MOV RSI,RDX
CALL 0x00125300
JMP 0x00113978
LEA RDI,[0x13f013]
XOR EAX,EAX
CALL 0x00125300
JMP 0x00113978
LEA RDX,[0x13ee30]
MOV ESI,0x10c9
LEA RDI,[0x13ee66]
CALL 0x001242c0
(translation_unit "void FUN_001138c0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  undefined8 *puVar2;\n  long *plVar3;\n  bool bVar4;\n  uint uVar5;\n  undefined8 uVar6;\n  size_t sVar7;\n  undefined8 uVar8;\n  char *pcVar9;\n  ulong uVar10;\n  int iVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  long lVar14;\n  long lVar15;\n  \n  uVar5 = *(uint *)(param_1 + 8);\n  switch(uVar5) {\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }\n  return;\n}\n\n" (function_definition "void FUN_001138c0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  undefined8 *puVar2;\n  long *plVar3;\n  bool bVar4;\n  uint uVar5;\n  undefined8 uVar6;\n  size_t sVar7;\n  undefined8 uVar8;\n  char *pcVar9;\n  ulong uVar10;\n  int iVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  long lVar14;\n  long lVar15;\n  \n  uVar5 = *(uint *)(param_1 + 8);\n  switch(uVar5) {\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_001138c0(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  byte bVar1;\n  undefined8 *puVar2;\n  long *plVar3;\n  bool bVar4;\n  uint uVar5;\n  undefined8 uVar6;\n  size_t sVar7;\n  undefined8 uVar8;\n  char *pcVar9;\n  ulong uVar10;\n  int iVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  long lVar14;\n  long lVar15;\n  \n  uVar5 = *(uint *)(param_1 + 8);\n  switch(uVar5) {\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "long lVar14;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (expression_statement "uVar5 = *(uint *)(param_1 + 8);" (assignment_expression "uVar5 = *(uint *)(param_1 + 8)" identifier = (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (switch_statement "switch(uVar5) {\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }" switch (parenthesized_expression "(uVar5)" ( identifier )) (compound_statement "{\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }" { (case_statement "case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;" case number_literal : (if_statement "if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }" if (parenthesized_expression "(param_1 != DAT_00185970)" ( (binary_expression "param_1 != DAT_00185970" identifier != identifier) )) (compound_statement "{\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }" { (expression_statement "lVar15 = *(long *)(param_1 + 0x38);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x38)" identifier = (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));" (call_expression "FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30))" identifier (argument_list "(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30))" ( (pointer_expression "&DAT_0013efed" & identifier) , (pointer_expression "*(undefined8 *)(param_1 + 0x30)" * (cast_expression "(undefined8 *)(param_1 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) ))) ;) (if_statement "if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }" if (parenthesized_expression "(lVar15 != 0)" ( (binary_expression "lVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }" { (expression_statement "DAT_00185390 = *(long *)(lVar15 + 0x28);" (assignment_expression "DAT_00185390 = *(long *)(lVar15 + 0x28)" identifier = (pointer_expression "*(long *)(lVar15 + 0x28)" * (cast_expression "(long *)(lVar15 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "sVar7 = strlen(*(char **)(param_1 + 0x30));" (assignment_expression "sVar7 = strlen(*(char **)(param_1 + 0x30))" identifier = (call_expression "strlen(*(char **)(param_1 + 0x30))" identifier (argument_list "(*(char **)(param_1 + 0x30))" ( (pointer_expression "*(char **)(param_1 + 0x30)" * (cast_expression "(char **)(param_1 + 0x30)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) )))) ;) (expression_statement "uVar10 = sVar7 & 0xffffffff;" (assignment_expression "uVar10 = sVar7 & 0xffffffff" identifier = (binary_expression "sVar7 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }" if (parenthesized_expression "(0xe < (int)sVar7)" ( (binary_expression "0xe < (int)sVar7" number_literal < (cast_expression "(int)sVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          FUN_001242a0();\n          uVar10 = 0;\n        }" { (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) })) (do_statement "do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);" do (compound_statement "{\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = (int)uVar10 + 1;" (assignment_expression "uVar5 = (int)uVar10 + 1" identifier = (binary_expression "(int)uVar10 + 1" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar10 = (ulong)uVar5;" (assignment_expression "uVar10 = (ulong)uVar5" identifier = (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(uVar5 != 0x10)" ( (binary_expression "uVar5 != 0x10" identifier != number_literal) )) ;) (expression_statement "FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));" (call_expression "FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f))" identifier (argument_list "("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f))" ( (string_literal ""0x%V %W"" " string_content ") , (pointer_expression "*(undefined8 *)(lVar15 + 0x28)" * (cast_expression "(undefined8 *)(lVar15 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) )))) , (binary_expression "*(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f)" (pointer_expression "*(ulong *)(lVar15 + 0x38)" * (cast_expression "(ulong *)(lVar15 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x38)" ( (binary_expression "lVar15 + 0x38" identifier + number_literal) )))) >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) ))) ;) (expression_statement "lVar14 = *(long *)(lVar15 + 0x30);" (assignment_expression "lVar14 = *(long *)(lVar15 + 0x30)" identifier = (pointer_expression "*(long *)(lVar15 + 0x30)" * (cast_expression "(long *)(lVar15 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x30)" ( (binary_expression "lVar15 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }" if (parenthesized_expression "(*(long *)(lVar15 + 0x28) != lVar14)" ( (binary_expression "*(long *)(lVar15 + 0x28) != lVar14" (pointer_expression "*(long *)(lVar15 + 0x28)" * (cast_expression "(long *)(lVar15 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }" { (expression_statement "uVar8 = dcgettext(0," load address 0x%V",5);" (assignment_expression "uVar8 = dcgettext(0," load address 0x%V",5)" identifier = (call_expression "dcgettext(0," load address 0x%V",5)" identifier (argument_list "(0," load address 0x%V",5)" ( number_literal , (string_literal "" load address 0x%V"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00125300(uVar8,lVar14);" (call_expression "FUN_00125300(uVar8,lVar14)" identifier (argument_list "(uVar8,lVar14)" ( identifier , identifier ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }" if (parenthesized_expression "(*(long *)(param_1 + 0x68) != 0)" ( (binary_expression "*(long *)(param_1 + 0x68) != 0" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }" { (expression_statement "FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);" (call_expression "FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390)" identifier (argument_list "(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390)" ( (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) , number_literal , (pointer_expression "&DAT_00185390" & identifier) ))) ;) })) })) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) })) (for_statement "for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }" for ( (assignment_expression "puVar2 = *(undefined8 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x10)" * (cast_expression "(undefined8 **)(param_1 + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)*puVar2" identifier = (cast_expression "(undefined8 *)*puVar2" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ) (compound_statement "{\n      FUN_001138c0(puVar2,param_1);\n    }" { (expression_statement "FUN_001138c0(puVar2,param_1);" (call_expression "FUN_001138c0(puVar2,param_1)" identifier (argument_list "(puVar2,param_1)" ( identifier , identifier ))) ;) })) (break_statement "break;" break ;)) (case_statement "case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;" case number_literal : (expression_statement "iVar11 = 0x10;" (assignment_expression "iVar11 = 0x10" identifier = number_literal) ;) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" do (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) ;) (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "lVar14 = *(long *)(param_2 + 0x38);" (assignment_expression "lVar14 = *(long *)(param_2 + 0x38)" identifier = (pointer_expression "*(long *)(param_2 + 0x38)" * (cast_expression "(long *)(param_2 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = *(char **)(lVar15 + 0x18);" (assignment_expression "pcVar9 = *(char **)(lVar15 + 0x18)" identifier = (pointer_expression "*(char **)(lVar15 + 0x18)" * (cast_expression "(char **)(lVar15 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }" if (parenthesized_expression "(*(int *)(lVar15 + 0x10) == 8)" ( (binary_expression "*(int *)(lVar15 + 0x10) == 8" (pointer_expression "*(int *)(lVar15 + 0x10)" * (cast_expression "(int *)(lVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }" { (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (if_statement "if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }" if (parenthesized_expression "(lVar14 == 0)" ( (binary_expression "lVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        lVar14 = 0x184c90;\n      }" { (expression_statement "lVar14 = 0x184c90;" (assignment_expression "lVar14 = 0x184c90" identifier = number_literal) ;) })) (labeled_statement "LAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);" statement_identifier : (expression_statement "FUN_00123130(pcVar9,lVar14,&DAT_00185390);" (call_expression "FUN_00123130(pcVar9,lVar14,&DAT_00185390)" identifier (argument_list "(pcVar9,lVar14,&DAT_00185390)" ( identifier , identifier , (pointer_expression "&DAT_00185390" & identifier) ))) ;)) (expression_statement "lVar14 = DAT_00185c60;" (assignment_expression "lVar14 = DAT_00185c60" identifier = identifier) ;) (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (DAT_00185c78 == 0) goto LAB_00113952;" if (parenthesized_expression "(DAT_00185c78 == 0)" ( (binary_expression "DAT_00185c78 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00113952;" goto statement_identifier ;)) (if_statement "if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }" if (parenthesized_expression "(*(int *)(lVar15 + 0x10) == 8)" ( (binary_expression "*(int *)(lVar15 + 0x10) == 8" (pointer_expression "*(int *)(lVar15 + 0x10)" * (cast_expression "(int *)(lVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }" { (if_statement "if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }" if (parenthesized_expression "(DAT_00185c70 != 0)" ( (binary_expression "DAT_00185c70 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }" { (labeled_statement "LAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);" statement_identifier : (expression_statement "lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);" (assignment_expression "lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28)" identifier = (binary_expression "DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28)" identifier + (pointer_expression "*(long *)(DAT_00185c70 + 0x28)" * (cast_expression "(long *)(DAT_00185c70 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00185c70 + 0x28)" ( (binary_expression "DAT_00185c70 + 0x28" identifier + number_literal) )))))) ;)) })) (expression_statement "FUN_00125300("0x%V",lVar14);" (call_expression "FUN_00125300("0x%V",lVar14)" identifier (argument_list "("0x%V",lVar14)" ( (string_literal ""0x%V"" " string_content ") , identifier ))) ;) (if_statement "if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }" { (labeled_statement "LAB_00114222:\n          DAT_00185390 = lVar14;" statement_identifier : (expression_statement "DAT_00185390 = lVar14;" (assignment_expression "DAT_00185390 = lVar14" identifier = identifier) ;)) })) }) (else_clause "else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }" else (compound_statement "{\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }" { (if_statement "if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }" { (if_statement "if (DAT_00185c70 != 0) goto LAB_00114205;" if (parenthesized_expression "(DAT_00185c70 != 0)" ( (binary_expression "DAT_00185c70 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00114205;" goto statement_identifier ;)) (expression_statement "FUN_00125300("0x%V",DAT_00185c60);" (call_expression "FUN_00125300("0x%V",DAT_00185c60)" identifier (argument_list "("0x%V",DAT_00185c60)" ( (string_literal ""0x%V"" " string_content ") , identifier ))) ;) (goto_statement "goto LAB_00114222;" goto statement_identifier ;) })) (if_statement "if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }" if (parenthesized_expression "(DAT_00185c50 == (char *)0x0)" ( (binary_expression "DAT_00185c50 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }" { (expression_statement "lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);" (assignment_expression "lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1)" identifier = (call_expression "bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1)" identifier (argument_list "(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1)" ( identifier , (pointer_expression "*(undefined8 *)(lVar15 + 0x18)" * (cast_expression "(undefined8 *)(lVar15 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) )))) , number_literal , number_literal , number_literal )))) ;) (if_statement "if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (compound_statement "{\n            FUN_00125300("[unresolved]");\n          }" { (expression_statement "FUN_00125300("[unresolved]");" (call_expression "FUN_00125300("[unresolved]")" identifier (argument_list "("[unresolved]")" ( (string_literal ""[unresolved]"" " string_content ") ))) ;) }) (else_clause "else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }" else (compound_statement "{\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }" { (expression_statement "FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));" (call_expression "FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28))" identifier (argument_list "("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28))" ( (string_literal ""[0x%V]"" " string_content ") , (binary_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" (binary_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30)" (pointer_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x60)" * (cast_expression "(long *)(*(long *)(lVar15 + 0x28) + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar15 + 0x28) + 0x60)" ( (binary_expression "*(long *)(lVar15 + 0x28) + 0x60" (pointer_expression "*(long *)(lVar15 + 0x28)" * (cast_expression "(long *)(lVar15 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) )))) + number_literal) )))) + (pointer_expression "*(long *)(lVar15 + 0x30)" * (cast_expression "(long *)(lVar15 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x30)" ( (binary_expression "lVar15 + 0x30" identifier + number_literal) ))))) + (pointer_expression "*(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" * (cast_expression "(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" ( (binary_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28" (pointer_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x68)" * (cast_expression "(long *)(*(long *)(lVar15 + 0x28) + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar15 + 0x28) + 0x68)" ( (binary_expression "*(long *)(lVar15 + 0x28) + 0x68" (pointer_expression "*(long *)(lVar15 + 0x28)" * (cast_expression "(long *)(lVar15 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ))) ;) }))) }) (else_clause "else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }" else (compound_statement "{\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }" { (if_statement "if (DAT_00185c70 != 0) goto LAB_00114205;" if (parenthesized_expression "(DAT_00185c70 != 0)" ( (binary_expression "DAT_00185c70 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00114205;" goto statement_identifier ;)) (expression_statement "FUN_00125300("0x%V",DAT_00185c60);" (call_expression "FUN_00125300("0x%V",DAT_00185c60)" identifier (argument_list "("0x%V",DAT_00185c60)" ( (string_literal ""0x%V"" " string_content ") , identifier ))) ;) }))) }))) }) (else_clause "else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }" else (compound_statement "{\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }" { (if_statement "if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }" if (parenthesized_expression "((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0'))" ( (binary_expression "(*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')" (parenthesized_expression "(*pcVar9 != '.')" ( (binary_expression "*pcVar9 != '.'" (pointer_expression "*pcVar9" * identifier) != (char_literal "'.'" ' character ')) )) || (parenthesized_expression "(bVar4 = true, pcVar9[1] != '\0')" ( (comma_expression "bVar4 = true, pcVar9[1] != '\0'" (assignment_expression "bVar4 = true" identifier = true) , (binary_expression "pcVar9[1] != '\0'" (subscript_expression "pcVar9[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }" { (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "DAT_00185c50 = pcVar9;" (assignment_expression "DAT_00185c50 = pcVar9" identifier = identifier) ;) })) (expression_statement "pcVar9 = *(char **)(lVar15 + 0x20);" (assignment_expression "pcVar9 = *(char **)(lVar15 + 0x20)" identifier = (pointer_expression "*(char **)(lVar15 + 0x20)" * (cast_expression "(char **)(lVar15 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }" if (parenthesized_expression "(lVar14 == 0)" ( (binary_expression "lVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        lVar14 = 0x184c90;\n      }" { (expression_statement "lVar14 = 0x184c90;" (assignment_expression "lVar14 = 0x184c90" identifier = number_literal) ;) })) (if_statement "if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;" if (parenthesized_expression "(*(int *)(lVar15 + 0x10) != 5)" ( (binary_expression "*(int *)(lVar15 + 0x10) != 5" (pointer_expression "*(int *)(lVar15 + 0x10)" * (cast_expression "(int *)(lVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001141b0;" goto statement_identifier ;)) (expression_statement "DAT_00185c78 = 0;" (assignment_expression "DAT_00185c78 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }" statement_identifier : (if_statement "if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }" if (parenthesized_expression "(*(int *)(lVar15 + 0x10) == 5)" ( (binary_expression "*(int *)(lVar15 + 0x10) == 5" (pointer_expression "*(int *)(lVar15 + 0x10)" * (cast_expression "(int *)(lVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        FUN_00125300("[!provide]");\n      }" { (expression_statement "FUN_00125300("[!provide]");" (call_expression "FUN_00125300("[!provide]")" identifier (argument_list "("[!provide]")" ( (string_literal ""[!provide]"" " string_content ") ))) ;) }) (else_clause "else {\n        FUN_00125300("*undef*   ");\n      }" else (compound_statement "{\n        FUN_00125300("*undef*   ");\n      }" { (expression_statement "FUN_00125300("*undef*   ");" (call_expression "FUN_00125300("*undef*   ")" identifier (argument_list "("*undef*   ")" ( (string_literal ""*undef*   "" " string_content ") ))) ;) })))) (expression_statement "FUN_00125300(&DAT_0013f03e);" (call_expression "FUN_00125300(&DAT_0013f03e)" identifier (argument_list "(&DAT_0013f03e)" ( (pointer_expression "&DAT_0013f03e" & identifier) ))) ;) }))) (expression_statement "DAT_00185c50 = (char *)0x0;" (assignment_expression "DAT_00185c50 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00125300(&DAT_0013f036);" (call_expression "FUN_00125300(&DAT_0013f036)" identifier (argument_list "(&DAT_0013f036)" ( (pointer_expression "&DAT_0013f036" & identifier) ))) ;) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001139f8:\n    FUN_00123490(uVar8);" statement_identifier : (expression_statement "FUN_00123490(uVar8);" (call_expression "FUN_00123490(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;)) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;" case number_literal : (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }" if (parenthesized_expression "((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       ))" ( (binary_expression "(lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )" (parenthesized_expression "(lVar15 != 0)" ( (binary_expression "lVar15 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )" ( (parenthesized_expression "(*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))" ( (binary_expression "*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0)" (binary_expression "*(long *)(param_1 + 0x20) == 0" (pointer_expression "*(long *)(param_1 + 0x20)" * (cast_expression "(long *)(param_1 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0)" ( (binary_expression "(*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0" (parenthesized_expression "(*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2)" ( (binary_expression "*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2" (pointer_expression "*(byte *)(*(long *)(param_1 + 0x20) + 0x46)" * (cast_expression "(byte *)(*(long *)(param_1 + 0x20) + 0x46)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x20) + 0x46)" ( (binary_expression "*(long *)(param_1 + 0x20) + 0x46" (pointer_expression "*(long *)(param_1 + 0x20)" * (cast_expression "(long *)(param_1 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }" { (expression_statement "pcVar9 = "LOAD %s\n";" (assignment_expression "pcVar9 = "LOAD %s\n"" identifier = (string_literal ""LOAD %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00113cab;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;" case number_literal : (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = dcgettext(0,"Address of section %s set to ",5);" (assignment_expression "uVar6 = dcgettext(0,"Address of section %s set to ",5)" identifier = (call_expression "dcgettext(0,"Address of section %s set to ",5)" identifier (argument_list "(0,"Address of section %s set to ",5)" ( number_literal , (string_literal ""Address of section %s set to "" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00125300(uVar6,uVar8);" (call_expression "FUN_00125300(uVar6,uVar8)" identifier (argument_list "(uVar6,uVar8)" ( identifier , identifier ))) ;) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x18);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x18)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x18)" * (cast_expression "(undefined8 *)(param_1 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001139f8;" goto statement_identifier ;)) (case_statement "case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;" case number_literal : (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }" if (parenthesized_expression "(*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0)" ( (binary_expression "*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0" (pointer_expression "*(undefined8 **)(param_1 + 0x40)" * (cast_expression "(undefined8 **)(param_1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }" { (expression_statement "FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));" (call_expression "FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40))" identifier (argument_list "("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40))" ( (string_literal ""EXCLUDE_FILE(%s"" " string_content ") , (pointer_expression "**(undefined8 **)(param_1 + 0x40)" * (pointer_expression "*(undefined8 **)(param_1 + 0x40)" * (cast_expression "(undefined8 **)(param_1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ))) ;) (for_statement "for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }" for ( (assignment_expression "puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8)" identifier = (pointer_expression "*(undefined8 **)(*(long *)(param_1 + 0x40) + 8)" * (cast_expression "(undefined8 **)(*(long *)(param_1 + 0x40) + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0x40) + 8)" ( (binary_expression "*(long *)(param_1 + 0x40) + 8" (pointer_expression "*(long *)(param_1 + 0x40)" * (cast_expression "(long *)(param_1 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) + number_literal) ))))) ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)puVar2[1]" identifier = (cast_expression "(undefined8 *)puVar2[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[1]" identifier [ number_literal ]))) ) (compound_statement "{\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }" { (expression_statement "FUN_00125300(&DAT_0013d727,*puVar2);" (call_expression "FUN_00125300(&DAT_0013d727,*puVar2)" identifier (argument_list "(&DAT_0013d727,*puVar2)" ( (pointer_expression "&DAT_0013d727" & identifier) , (pointer_expression "*puVar2" * identifier) ))) ;) })) (expression_statement "FUN_00125300(&DAT_0013ef27);" (call_expression "FUN_00125300(&DAT_0013ef27)" identifier (argument_list "(&DAT_0013ef27)" ( (pointer_expression "&DAT_0013ef27" & identifier) ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00125300("SORT_BY_NAME(");\n    }" { (expression_statement "FUN_00125300("SORT_BY_NAME(");" (call_expression "FUN_00125300("SORT_BY_NAME(")" identifier (argument_list "("SORT_BY_NAME(")" ( (string_literal ""SORT_BY_NAME("" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }" if (parenthesized_expression "(*(long *)(param_1 + 0x10) == 0)" ( (binary_expression "*(long *)(param_1 + 0x10) == 0" (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      FUN_00125300(&DAT_0013f157);\n    }" { (expression_statement "FUN_00125300(&DAT_0013f157);" (call_expression "FUN_00125300(&DAT_0013f157)" identifier (argument_list "(&DAT_0013f157)" ( (pointer_expression "&DAT_0013f157" & identifier) ))) ;) }) (else_clause "else {\n      FUN_00125300(&DAT_0013efee);\n    }" else (compound_statement "{\n      FUN_00125300(&DAT_0013efee);\n    }" { (expression_statement "FUN_00125300(&DAT_0013efee);" (call_expression "FUN_00125300(&DAT_0013efee)" identifier (argument_list "(&DAT_0013efee)" ( (pointer_expression "&DAT_0013efee" & identifier) ))) ;) }))) (if_statement "if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00125300(")");\n    }" { (expression_statement "FUN_00125300(")");" (call_expression "FUN_00125300(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) ;) })) (expression_statement "FUN_00125300("(");" (call_expression "FUN_00125300("(")" identifier (argument_list "("(")" ( (string_literal ""("" " string_content ") ))) ;) (for_statement "for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }" for ( (assignment_expression "plVar3 = *(long **)(param_1 + 0x20)" identifier = (pointer_expression "*(long **)(param_1 + 0x20)" * (cast_expression "(long **)(param_1 + 0x20)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ; (binary_expression "plVar3 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar3 = (long *)*plVar3" identifier = (cast_expression "(long *)*plVar3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar3" * identifier))) ) (compound_statement "{\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }" { (switch_statement "switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }" switch (parenthesized_expression "((int)plVar3[3])" ( (cast_expression "(int)plVar3[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar3[3]" identifier [ number_literal ])) )) (compound_statement "{\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }" { (case_statement "default:\n        iVar11 = 0;\n        break;" default : (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;" case number_literal : (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_BY_NAME(");" (call_expression "FUN_00125300("SORT_BY_NAME(")" identifier (argument_list "("SORT_BY_NAME(")" ( (string_literal ""SORT_BY_NAME("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;" case number_literal : (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_BY_ALIGNMENT(");" (call_expression "FUN_00125300("SORT_BY_ALIGNMENT(")" identifier (argument_list "("SORT_BY_ALIGNMENT(")" ( (string_literal ""SORT_BY_ALIGNMENT("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;" case number_literal : (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");" (call_expression "FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(")" identifier (argument_list "("SORT_BY_NAME(SORT_BY_ALIGNMENT(")" ( (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;" case number_literal : (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");" (call_expression "FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(")" identifier (argument_list "("SORT_BY_ALIGNMENT(SORT_BY_NAME(")" ( (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;" case number_literal : (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_NONE(");" (call_expression "FUN_00125300("SORT_NONE(")" identifier (argument_list "("SORT_NONE(")" ( (string_literal ""SORT_NONE("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");" case number_literal : (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_BY_INIT_PRIORITY(");" (call_expression "FUN_00125300("SORT_BY_INIT_PRIORITY(")" identifier (argument_list "("SORT_BY_INIT_PRIORITY(")" ( (string_literal ""SORT_BY_INIT_PRIORITY("" " string_content ") ))) ;)) })) (if_statement "if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }" if (parenthesized_expression "((undefined8 *)plVar3[2] != (undefined8 *)0x0)" ( (binary_expression "(undefined8 *)plVar3[2] != (undefined8 *)0x0" (cast_expression "(undefined8 *)plVar3[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar3[2]" identifier [ number_literal ])) != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }" { (expression_statement "FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);" (call_expression "FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2])" identifier (argument_list "("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2])" ( (string_literal ""EXCLUDE_FILE(%s"" " string_content ") , (pointer_expression "*(undefined8 *)plVar3[2]" * (cast_expression "(undefined8 *)plVar3[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar3[2]" identifier [ number_literal ]))) ))) ;) (for_statement "for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }" for ( (assignment_expression "puVar2 = *(undefined8 **)(plVar3[2] + 8)" identifier = (pointer_expression "*(undefined8 **)(plVar3[2] + 8)" * (cast_expression "(undefined8 **)(plVar3[2] + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(plVar3[2] + 8)" ( (binary_expression "plVar3[2] + 8" (subscript_expression "plVar3[2]" identifier [ number_literal ]) + number_literal) ))))) ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)puVar2[1]" identifier = (cast_expression "(undefined8 *)puVar2[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[1]" identifier [ number_literal ]))) ) (compound_statement "{\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }" { (expression_statement "FUN_00125300(&DAT_0013d727,*puVar2);" (call_expression "FUN_00125300(&DAT_0013d727,*puVar2)" identifier (argument_list "(&DAT_0013d727,*puVar2)" ( (pointer_expression "&DAT_0013d727" & identifier) , (pointer_expression "*puVar2" * identifier) ))) ;) })) (expression_statement "FUN_00125300(&DAT_0013ef27);" (call_expression "FUN_00125300(&DAT_0013ef27)" identifier (argument_list "(&DAT_0013ef27)" ( (pointer_expression "&DAT_0013ef27" & identifier) ))) ;) })) (if_statement "if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }" if (parenthesized_expression "(plVar3[1] == 0)" ( (binary_expression "plVar3[1] == 0" (subscript_expression "plVar3[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        FUN_00125300(&DAT_0013f157);\n      }" { (expression_statement "FUN_00125300(&DAT_0013f157);" (call_expression "FUN_00125300(&DAT_0013f157)" identifier (argument_list "(&DAT_0013f157)" ( (pointer_expression "&DAT_0013f157" & identifier) ))) ;) }) (else_clause "else {\n        FUN_00125300(&DAT_0013efee);\n      }" else (compound_statement "{\n        FUN_00125300(&DAT_0013efee);\n      }" { (expression_statement "FUN_00125300(&DAT_0013efee);" (call_expression "FUN_00125300(&DAT_0013efee)" identifier (argument_list "(&DAT_0013efee)" ( (pointer_expression "&DAT_0013efee" & identifier) ))) ;) }))) (if_statement "if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }" if (parenthesized_expression "((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1))" ( (binary_expression "(iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)" (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) && (parenthesized_expression "(FUN_00125300(")"), iVar11 != 1)" ( (comma_expression "FUN_00125300(")"), iVar11 != 1" (call_expression "FUN_00125300(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) , (binary_expression "iVar11 != 1" identifier != number_literal)) ))) )) (compound_statement "{\n        FUN_00125300(")");\n      }" { (expression_statement "FUN_00125300(")");" (call_expression "FUN_00125300(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) ;) })) (if_statement "if (*plVar3 == 0) break;" if (parenthesized_expression "(*plVar3 == 0)" ( (binary_expression "*plVar3 == 0" (pointer_expression "*plVar3" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "FUN_00125300(&DAT_0013f045);" (call_expression "FUN_00125300(&DAT_0013f045)" identifier (argument_list "(&DAT_0013f045)" ( (pointer_expression "&DAT_0013f045" & identifier) ))) ;) })) (expression_statement "FUN_00125300(")");" (call_expression "FUN_00125300(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) ;) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (for_statement "for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }" for ( (assignment_expression "puVar2 = *(undefined8 **)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x30)" * (cast_expression "(undefined8 **)(param_1 + 0x30)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)*puVar2" identifier = (cast_expression "(undefined8 *)*puVar2" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ) (compound_statement "{\n      FUN_001138c0(puVar2,param_2);\n    }" { (expression_statement "FUN_001138c0(puVar2,param_2);" (call_expression "FUN_001138c0(puVar2,param_2)" identifier (argument_list "(puVar2,param_2)" ( identifier , identifier ))) ;) })) (break_statement "break;" break ;)) (case_statement "case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;" case number_literal : (expression_statement "FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);" (call_expression "FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x10),0)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , number_literal ))) ;) (return_statement "return;" return ;)) (case_statement "case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;" case number_literal : (expression_statement "pcVar9 = " CREATE_OBJECT_SYMBOLS\n";" (assignment_expression "pcVar9 = " CREATE_OBJECT_SYMBOLS\n"" identifier = (string_literal "" CREATE_OBJECT_SYMBOLS\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00113bd7;" goto statement_identifier ;)) (case_statement "case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;" case number_literal : (expression_statement "fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);" (call_expression "fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8)" identifier (argument_list "(" FILL mask 0x",1,0xd,DAT_00185bd8)" ( (string_literal "" FILL mask 0x"" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "plVar3 = *(long **)(param_1 + 0x10);" (assignment_expression "plVar3 = *(long **)(param_1 + 0x10)" identifier = (pointer_expression "*(long **)(param_1 + 0x10)" * (cast_expression "(long **)(param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "lVar15 = *plVar3;" (assignment_expression "lVar15 = *plVar3" identifier = (pointer_expression "*plVar3" * identifier)) ;) (expression_statement "pbVar12 = (byte *)(plVar3 + 1);" (assignment_expression "pbVar12 = (byte *)(plVar3 + 1)" identifier = (cast_expression "(byte *)(plVar3 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar3 + 1)" ( (binary_expression "plVar3 + 1" identifier + number_literal) )))) ;) (if_statement "if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }" if (parenthesized_expression "(lVar15 != 0)" ( (binary_expression "lVar15 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }" { (do_statement "do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));" do (compound_statement "{\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      }" { (expression_statement "bVar1 = *pbVar12;" (assignment_expression "bVar1 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);" (call_expression "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1)" identifier (argument_list "(DAT_00185bd8,"%02x",(ulong)bVar1)" ( identifier , (string_literal ""%02x"" " string_content ") , (cast_expression "(ulong)bVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) while (parenthesized_expression "(pbVar12 != (byte *)((long)plVar3 + lVar15 + 8))" ( (binary_expression "pbVar12 != (byte *)((long)plVar3 + lVar15 + 8)" identifier != (cast_expression "(byte *)((long)plVar3 + lVar15 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar3 + lVar15 + 8)" ( (binary_expression "(long)plVar3 + lVar15 + 8" (binary_expression "(long)plVar3 + lVar15" (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) )) ;) })) (expression_statement "fputc(10,DAT_00185bd8);" (call_expression "fputc(10,DAT_00185bd8)" identifier (argument_list "(10,DAT_00185bd8)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;)) (case_statement "case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;" case number_literal : (expression_statement "FUN_00113550();" (call_expression "FUN_00113550()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = 0x10;" (assignment_expression "iVar11 = 0x10" identifier = number_literal) ;) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" do (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) ;) (expression_statement "lVar15 = *(long *)(param_1 + 0x30);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x30)" identifier = (pointer_expression "*(long *)(param_1 + 0x30)" * (cast_expression "(long *)(param_1 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }" if (parenthesized_expression "(*(long *)(param_1 + 0x28) != 0)" ( (binary_expression "*(long *)(param_1 + 0x28) != 0" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }" { (expression_statement "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);" (assignment_expression "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28)" identifier = (binary_expression "lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28)" identifier + (pointer_expression "*(long *)(*(long *)(param_1 + 0x28) + 0x28)" * (cast_expression "(long *)(*(long *)(param_1 + 0x28) + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x28) + 0x28)" ( (binary_expression "*(long *)(param_1 + 0x28) + 0x28" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) + number_literal) )))))) ;) })) (switch_statement "switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }" switch (parenthesized_expression "(*(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) )))) )) (compound_statement "{\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }" { (case_statement "case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;" case number_literal : (expression_statement "pcVar9 = "QUAD";" (assignment_expression "pcVar9 = "QUAD"" identifier = (string_literal ""QUAD"" " string_content ")) ;) (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;" case number_literal : (expression_statement "pcVar9 = "SQUAD";" (assignment_expression "pcVar9 = "SQUAD"" identifier = (string_literal ""SQUAD"" " string_content ")) ;) (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;" case number_literal : (expression_statement "pcVar9 = "LONG";" (assignment_expression "pcVar9 = "LONG"" identifier = (string_literal ""LONG"" " string_content ")) ;) (expression_statement "uVar10 = 4;" (assignment_expression "uVar10 = 4" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;" case number_literal : (expression_statement "pcVar9 = "SHORT";" (assignment_expression "pcVar9 = "SHORT"" identifier = (string_literal ""SHORT"" " string_content ")) ;) (expression_statement "uVar10 = 2;" (assignment_expression "uVar10 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;" case number_literal : (expression_statement "pcVar9 = "BYTE";" (assignment_expression "pcVar9 = "BYTE"" identifier = (string_literal ""BYTE"" " string_content ")) ;) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");" default : comment (expression_statement "FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");" (call_expression "FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement")" identifier (argument_list "("../../ld/ldlang.c",0x10c9,"print_data_statement")" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal , (string_literal ""print_data_statement"" " string_content ") ))) ;)) })) (expression_statement "uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));" (assignment_expression "uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f))" identifier = (call_expression "(ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f))" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(1 << ((byte)DAT_00185308 & 0x1f))" ( (binary_expression "1 << ((byte)DAT_00185308 & 0x1f)" number_literal << (parenthesized_expression "((byte)DAT_00185308 & 0x1f)" ( (binary_expression "(byte)DAT_00185308 & 0x1f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (if_statement "if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }" if (parenthesized_expression "(uVar13 < uVar10)" ( (binary_expression "uVar13 < uVar10" identifier < identifier) )) (compound_statement "{\n      uVar13 = uVar10;\n    }" { (expression_statement "uVar13 = uVar10;" (assignment_expression "uVar13 = uVar10" identifier = identifier) ;) })) (expression_statement "FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));" (call_expression "FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20))" identifier (argument_list "("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20))" ( (string_literal ""0x%V %W %s 0x%v"" " string_content ") , identifier , (binary_expression "uVar13 >> ((byte)DAT_00185308 & 0x3f)" identifier >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) , identifier , (pointer_expression "*(undefined8 *)(param_1 + 0x20)" * (cast_expression "(undefined8 *)(param_1 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) ))) ;) (if_statement "if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }" if (parenthesized_expression "(*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7)" ( (binary_expression "*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7" (pointer_expression "*(int *)(*(long *)(param_1 + 0x18) + 0x10)" * (cast_expression "(int *)(*(long *)(param_1 + 0x18) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x18) + 0x10)" ( (binary_expression "*(long *)(param_1 + 0x18) + 0x10" (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00123490(*(undefined8 *)(param_1 + 0x18));" (call_expression "FUN_00123490(*(undefined8 *)(param_1 + 0x18))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x18))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x18)" * (cast_expression "(undefined8 *)(param_1 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;" (assignment_expression "DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" identifier = (binary_expression "(uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (parenthesized_expression "(uVar13 >> ((byte)DAT_00185308 & 0x3f))" ( (binary_expression "uVar13 >> ((byte)DAT_00185308 & 0x3f)" identifier >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;" case number_literal : (expression_statement "FUN_00113550();" (call_expression "FUN_00113550()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = 0x10;" (assignment_expression "iVar11 = 0x10" identifier = number_literal) ;) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" do (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) ;) (expression_statement "lVar15 = *(long *)(param_1 + 0x48);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x48)" identifier = (pointer_expression "*(long *)(param_1 + 0x48)" * (cast_expression "(long *)(param_1 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }" if (parenthesized_expression "(*(long *)(param_1 + 0x40) != 0)" ( (binary_expression "*(long *)(param_1 + 0x40) != 0" (pointer_expression "*(long *)(param_1 + 0x40)" * (cast_expression "(long *)(param_1 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }" { (expression_statement "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);" (assignment_expression "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28)" identifier = (binary_expression "lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28)" identifier + (pointer_expression "*(long *)(*(long *)(param_1 + 0x40) + 0x28)" * (cast_expression "(long *)(*(long *)(param_1 + 0x40) + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x40) + 0x28)" ( (binary_expression "*(long *)(param_1 + 0x40) + 0x28" (pointer_expression "*(long *)(param_1 + 0x40)" * (cast_expression "(long *)(param_1 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));" (assignment_expression "uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18))" identifier = (call_expression "bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x18))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x18)" * (cast_expression "(undefined8 *)(param_1 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) )))) ;) (expression_statement "FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));" (call_expression "FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28))" identifier (argument_list "("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28))" ( (string_literal ""0x%V %W RELOC %s "" " string_content ") , identifier , (binary_expression "uVar5 >> ((byte)DAT_00185308 & 0x3f)" identifier >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) , (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x18) + 0x28)" ( (binary_expression "*(long *)(param_1 + 0x18) + 0x28" (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "lVar14 = *(long *)(param_1 + 0x28);" (assignment_expression "lVar14 = *(long *)(param_1 + 0x28)" identifier = (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }" if (parenthesized_expression "(lVar14 == 0)" ( (binary_expression "lVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      lVar14 = **(long **)(param_1 + 0x20);\n    }" { (expression_statement "lVar14 = **(long **)(param_1 + 0x20);" (assignment_expression "lVar14 = **(long **)(param_1 + 0x20)" identifier = (pointer_expression "**(long **)(param_1 + 0x20)" * (pointer_expression "*(long **)(param_1 + 0x20)" * (cast_expression "(long **)(param_1 + 0x20)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))))) ;) })) (expression_statement "FUN_00125300(&DAT_0013efd8,lVar14);" (call_expression "FUN_00125300(&DAT_0013efd8,lVar14)" identifier (argument_list "(&DAT_0013efd8,lVar14)" ( (pointer_expression "&DAT_0013efd8" & identifier) , identifier ))) ;) (expression_statement "FUN_00123490(*(undefined8 *)(param_1 + 0x30));" (call_expression "FUN_00123490(*(undefined8 *)(param_1 + 0x30))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x30))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x30)" * (cast_expression "(undefined8 *)(param_1 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;" (assignment_expression "DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" identifier = (binary_expression "(ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (call_expression "(ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar5 >> ((byte)DAT_00185308 & 0x3f))" ( (binary_expression "uVar5 >> ((byte)DAT_00185308 & 0x3f)" identifier >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) ))) + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;" case number_literal : (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = "TARGET(%s)\n";" (assignment_expression "pcVar9 = "TARGET(%s)\n"" identifier = (string_literal ""TARGET(%s)\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);" statement_identifier : (expression_statement "fprintf(DAT_00185bd8,pcVar9,lVar15);" (call_expression "fprintf(DAT_00185bd8,pcVar9,lVar15)" identifier (argument_list "(DAT_00185bd8,pcVar9,lVar15)" ( identifier , identifier , identifier ))) ;)) (return_statement "return;" return ;)) (case_statement "case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;" case number_literal : (expression_statement "FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));" (call_expression "FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10))" identifier (argument_list "("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10))" ( (string_literal ""OUTPUT(%s"" " string_content ") , (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) (if_statement "if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }" if (parenthesized_expression "(DAT_00185998 != 0)" ( (binary_expression "DAT_00185998 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_00125300(&DAT_0013d727);\n    }" { (expression_statement "FUN_00125300(&DAT_0013d727);" (call_expression "FUN_00125300(&DAT_0013d727)" identifier (argument_list "(&DAT_0013d727)" ( (pointer_expression "&DAT_0013d727" & identifier) ))) ;) })) (expression_statement "pcVar9 = ")\n";" (assignment_expression "pcVar9 = ")\n"" identifier = (string_literal "")\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00113bd7:\n    FUN_00125300(pcVar9);" statement_identifier : (expression_statement "FUN_00125300(pcVar9);" (call_expression "FUN_00125300(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;)) (return_statement "return;" return ;)) (case_statement "case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;" case number_literal : (expression_statement "FUN_00113550();" (call_expression "FUN_00113550()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = 9;" (assignment_expression "iVar11 = 9" identifier = number_literal) ;) (expression_statement "FUN_00125300(" *fill*");" (call_expression "FUN_00125300(" *fill*")" identifier (argument_list "(" *fill*")" ( (string_literal "" *fill*"" " string_content ") ))) ;) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" do (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) ;) (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }" if (parenthesized_expression "(*(long *)(param_1 + 0x20) != 0)" ( (binary_expression "*(long *)(param_1 + 0x20) != 0" (pointer_expression "*(long *)(param_1 + 0x20)" * (cast_expression "(long *)(param_1 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }" { (expression_statement "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);" (assignment_expression "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28)" identifier = (binary_expression "lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28)" identifier + (pointer_expression "*(long *)(*(long *)(param_1 + 0x20) + 0x28)" * (cast_expression "(long *)(*(long *)(param_1 + 0x20) + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x20) + 0x28)" ( (binary_expression "*(long *)(param_1 + 0x20) + 0x28" (pointer_expression "*(long *)(param_1 + 0x20)" * (cast_expression "(long *)(param_1 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));" (call_expression "FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f))" identifier (argument_list "("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f))" ( (string_literal ""0x%V %W "" " string_content ") , identifier , (binary_expression "*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)" (pointer_expression "*(ulong *)(param_1 + 0x18)" * (cast_expression "(ulong *)(param_1 + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) ))) ;) (expression_statement "plVar3 = *(long **)(param_1 + 0x28);" (assignment_expression "plVar3 = *(long **)(param_1 + 0x28)" identifier = (pointer_expression "*(long **)(param_1 + 0x28)" * (cast_expression "(long **)(param_1 + 0x28)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar14 = *plVar3;" (assignment_expression "lVar14 = *plVar3" identifier = (pointer_expression "*plVar3" * identifier)) ;) (if_statement "if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }" if (parenthesized_expression "(lVar14 != 0)" ( (binary_expression "lVar14 != 0" identifier != number_literal) )) (compound_statement "{\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }" { (expression_statement "pbVar12 = (byte *)(plVar3 + 1);" (assignment_expression "pbVar12 = (byte *)(plVar3 + 1)" identifier = (cast_expression "(byte *)(plVar3 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar3 + 1)" ( (binary_expression "plVar3 + 1" identifier + number_literal) )))) ;) (do_statement "do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));" do (compound_statement "{\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      }" { (expression_statement "bVar1 = *pbVar12;" (assignment_expression "bVar1 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);" (call_expression "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1)" identifier (argument_list "(DAT_00185bd8,"%02x",(ulong)bVar1)" ( identifier , (string_literal ""%02x"" " string_content ") , (cast_expression "(ulong)bVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) while (parenthesized_expression "(pbVar12 != (byte *)((long)plVar3 + lVar14 + 8))" ( (binary_expression "pbVar12 != (byte *)((long)plVar3 + lVar14 + 8)" identifier != (cast_expression "(byte *)((long)plVar3 + lVar14 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar3 + lVar14 + 8)" ( (binary_expression "(long)plVar3 + lVar14 + 8" (binary_expression "(long)plVar3 + lVar14" (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) )) ;) })) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;" (assignment_expression "DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15" identifier = (binary_expression "(*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (parenthesized_expression "(*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f))" ( (binary_expression "*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)" (pointer_expression "*(ulong *)(param_1 + 0x18)" * (cast_expression "(ulong *)(param_1 + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;" case number_literal : (expression_statement "fwrite("START GROUP\n",1,0xc,DAT_00185bd8);" (call_expression "fwrite("START GROUP\n",1,0xc,DAT_00185bd8)" identifier (argument_list "("START GROUP\n",1,0xc,DAT_00185bd8)" ( (string_literal ""START GROUP\n"" " string_content escape_sequence ") , number_literal , number_literal , identifier ))) ;) (for_statement "for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }" for ( (assignment_expression "puVar2 = *(undefined8 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x10)" * (cast_expression "(undefined8 **)(param_1 + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)*puVar2" identifier = (cast_expression "(undefined8 *)*puVar2" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ) (compound_statement "{\n      FUN_001138c0(puVar2,param_2);\n    }" { (expression_statement "FUN_001138c0(puVar2,param_2);" (call_expression "FUN_001138c0(puVar2,param_2)" identifier (argument_list "(puVar2,param_2)" ( identifier , identifier ))) ;) })) (expression_statement "fwrite("END GROUP\n",1,10,DAT_00185bd8);" (call_expression "fwrite("END GROUP\n",1,10,DAT_00185bd8)" identifier (argument_list "("END GROUP\n",1,10,DAT_00185bd8)" ( (string_literal ""END GROUP\n"" " string_content escape_sequence ") , number_literal , number_literal , identifier ))) ;) (return_statement "return;" return ;)) (case_statement "case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;" case number_literal : (expression_statement "pcVar9 = "BEFORE";" (assignment_expression "pcVar9 = "BEFORE"" identifier = (string_literal ""BEFORE"" " string_content ")) ;) (if_statement "if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x18) == 0)" ( (binary_expression "*(int *)(param_1 + 0x18) == 0" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pcVar9 = "AFTER";\n    }" { (expression_statement "pcVar9 = "AFTER";" (assignment_expression "pcVar9 = "AFTER"" identifier = (string_literal ""AFTER"" " string_content ")) ;) })) (expression_statement "FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));" (call_expression "FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10))" identifier (argument_list "("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10))" ( (string_literal ""INSERT %s %s\n"" " string_content escape_sequence ") , identifier , (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) (return_statement "return;" return ;)) (case_statement "case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;" case number_literal : (if_statement "if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }" if (parenthesized_expression "(DAT_001859c0 != (undefined8 *)0x0)" ( (binary_expression "DAT_001859c0 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }" { (if_statement "if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }" if (parenthesized_expression "(DAT_001859d0 == 0)" ( (binary_expression "DAT_001859d0 == 0" identifier == number_literal) )) (compound_statement "{\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }" { (expression_statement "FUN_00125300(" CONSTRUCTORS\n");" (call_expression "FUN_00125300(" CONSTRUCTORS\n")" identifier (argument_list "(" CONSTRUCTORS\n")" ( (string_literal "" CONSTRUCTORS\n"" " string_content escape_sequence ") ))) ;) (expression_statement "puVar2 = DAT_001859c0;" (assignment_expression "puVar2 = DAT_001859c0" identifier = identifier) ;) }) (else_clause "else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }" else (compound_statement "{\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }" { (expression_statement "FUN_00125300(" SORT (CONSTRUCTORS)\n");" (call_expression "FUN_00125300(" SORT (CONSTRUCTORS)\n")" identifier (argument_list "(" SORT (CONSTRUCTORS)\n")" ( (string_literal "" SORT (CONSTRUCTORS)\n"" " string_content escape_sequence ") ))) ;) (expression_statement "puVar2 = DAT_001859c0;" (assignment_expression "puVar2 = DAT_001859c0" identifier = identifier) ;) }))) (for_statement "for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }" for ( ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)*puVar2" identifier = (cast_expression "(undefined8 *)*puVar2" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ) (compound_statement "{\n        FUN_001138c0(puVar2,param_2);\n      }" { (expression_statement "FUN_001138c0(puVar2,param_2);" (call_expression "FUN_001138c0(puVar2,param_2)" identifier (argument_list "(puVar2,param_2)" ( identifier , identifier ))) ;) })) })) (break_statement "break;" break ;)) (case_statement "default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;" default : (expression_statement "pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);" (assignment_expression "pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Fail with %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Fail with %d\n",5)" identifier (argument_list "(0,"Fail with %d\n",5)" ( number_literal , (string_literal ""Fail with %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);" (call_expression "fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5)" identifier (argument_list "(DAT_00185bd8,pcVar9,(ulong)uVar5)" ( identifier , identifier , (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "FUN_001252c0("../../ld/ldlang.c",0x11bc);" (call_expression "FUN_001252c0("../../ld/ldlang.c",0x11bc)" identifier (argument_list "("../../ld/ldlang.c",0x11bc)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) (return_statement "return;" return ;)) })) (return_statement "return;" return ;) })))
(translation_unit "void print_statement(lang_statement_union_type *s,lang_output_section_statement_type *os)\n\n{\n  byte bVar1;\n  statement_enum sVar2;\n  name_list *pnVar3;\n  lang_statement_union_type *plVar4;\n  fill_type *pfVar5;\n  size_t sVar6;\n  undefined8 *puVar7;\n  bool bVar8;\n  uint uVar9;\n  asection *paVar10;\n  size_t sVar11;\n  char *pcVar12;\n  ulong uVar13;\n  long lVar14;\n  int iVar15;\n  uchar *puVar16;\n  ulong uVar17;\n  asection *current_section;\n  char *pcVar18;\n  lang_statement_union *plVar19;\n  etree_type *tree;\n  walk_wild_section_handler_t p_Var20;\n  bfd_vma bVar21;\n  \n  sVar2 = (s->header).type;\n  switch(sVar2) {\n  case lang_output_section_statement_enum:\n    if (s != (lang_statement_union_type *)abs_output_section) {\n      paVar10 = (s->output_section_statement).bfd_section;\n      minfo("\n%s",(s->wild_statement).children.head);\n      if (paVar10 != (asection *)0x0) {\n        print_dot = paVar10->vma;\n        sVar11 = strlen((s->output_section_statement).name);\n        uVar13 = sVar11 & 0xffffffff;\n        if (0xe < (int)sVar11) {\n          print_nl();\n          uVar13 = 0;\n        }\n        do {\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        } while (uVar9 != 0x10);\n        minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));\n        bVar21 = paVar10->lma;\n        if (paVar10->vma != bVar21) {\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }\n        if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }\n      }\n      print_nl();\n    }\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,&s->output_section_statement);\n    }\n    break;\n  case lang_assignment_statement_enum:\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    paVar10 = (s->input_section).section;\n    current_section = os->bfd_section;\n    tree = (etree_type *)paVar10->prev;\n    if (*(int *)&paVar10->next == 8) {\n      bVar8 = false;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\nLAB_001141b0:\n      exp_fold_tree(tree,current_section,&print_dot);\n      bVar21 = expld.result.value;\n      paVar10 = (s->input_section).section;\n      if (expld.result.valid_p == 0) goto LAB_00113952;\n      if (*(int *)&paVar10->next == 8) {\n        if (expld.result.section != (asection *)0x0) {\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }\n        minfo("0x%V",bVar21);\n        if (bVar8) {\nLAB_00114222:\n          print_dot = bVar21;\n        }\n      }\n      else {\n        if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }\n        if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }\n      }\n    }\n    else {\n      if ((*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {\n        bVar8 = false;\n        expld.assign_name = (char *)tree;\n      }\n      tree = *(etree_type **)&paVar10->flags;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\n      if (*(int *)&paVar10->next != 5) goto LAB_001141b0;\n      expld.result.valid_p = 0;\nLAB_00113952:\n      if (*(int *)&paVar10->next == 5) {\n        minfo("[!provide]");\n      }\n      else {\n        minfo("*undef*   ");\n      }\n      minfo("        ");\n    }\n    expld.assign_name = (char *)0x0;\n    minfo("                ");\n    plVar19 = (s->output_section_statement).children.head;\nLAB_001139f8:\n    exp_print_tree((etree_type *)plVar19);\n    print_nl();\n    return;\n  case lang_input_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    if ((pcVar12 != (char *)0x0) &&\n       (((s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)))) {\n      pcVar18 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case lang_address_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = (char *)dcgettext(0,"Address of section %s set to ",5);\n    minfo(pcVar18,pcVar12);\n    plVar19 = (lang_statement_union *)(s->data_statement).exp;\n    goto LAB_001139f8;\n  case lang_wild_statement_enum:\n    print_space();\n    if ((s->wild_statement).exclude_name_list != (name_list *)0x0) {\n      minfo("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name);\n      for (pnVar3 = ((s->wild_statement).exclude_name_list)->next; pnVar3 != (name_list *)0x0;\n          pnVar3 = pnVar3->next) {\n        minfo(" %s",pnVar3->name);\n      }\n      minfo(") ");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo("SORT_BY_NAME(");\n    }\n    if ((s->wild_statement).filename == (char *)0x0) {\n      minfo("*");\n    }\n    else {\n      minfo("%s");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo(")");\n    }\n    minfo("(");\n    for (paVar10 = (s->reloc_statement).section; paVar10 != (asection *)0x0;\n        paVar10 = (asection *)paVar10->name) {\n      switch(*(undefined4 *)&paVar10->prev) {\n      default:\n        iVar15 = 0;\n        break;\n      case 1:\n        iVar15 = 1;\n        minfo("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar15 = 1;\n        minfo("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar15 = 2;\n        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar15 = 2;\n        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar15 = 1;\n        minfo("SORT_NONE(");\n        break;\n      case 6:\n        iVar15 = 1;\n        minfo("SORT_BY_INIT_PRIORITY(");\n      }\n      if (paVar10->next != (bfd_section *)0x0) {\n        minfo("EXCLUDE_FILE(%s",paVar10->next->name);\n        for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;\n            puVar7 = (undefined8 *)puVar7[1]) {\n          minfo(" %s",*puVar7);\n        }\n        minfo(") ");\n      }\n      lVar14._0_4_ = paVar10->id;\n      lVar14._4_4_ = paVar10->index;\n      if (lVar14 == 0) {\n        minfo("*");\n      }\n      else {\n        minfo("%s");\n      }\n      if ((iVar15 != 0) && (minfo(")"), iVar15 != 1)) {\n        minfo(")");\n      }\n      if (paVar10->name == (char *)0x0) break;\n      minfo(" ");\n    }\n    minfo(")");\n    print_nl();\n    for (plVar4 = (s->wild_statement).children.head; plVar4 != (lang_statement_union_type *)0x0;\n        plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    break;\n  case lang_input_section_enum:\n    print_input_section((s->input_section).section,0);\n    return;\n  case lang_object_symbols_statement_enum:\n    pcVar12 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case lang_fill_statement_enum:\n    fwrite(" FILL mask 0x",1,0xd,(FILE *)config.map_file);\n    pfVar5 = (s->fill_statement).fill;\n    sVar6 = pfVar5->size;\n    puVar16 = pfVar5->data;\n    if (sVar6 != 0) {\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    fputc(10,(FILE *)config.map_file);\n    return;\n  case lang_data_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    plVar19 = (s->wild_statement).children.head;\n    if ((s->output_section_statement).prev != (lang_output_section_statement_struct *)0x0) {\n      plVar19 = (lang_statement_union *)\n                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19);\n    }\n    switch((s->data_statement).type) {\n    case 0x11a:\n      pcVar12 = "QUAD";\n      uVar13 = 8;\n      break;\n    case 0x11b:\n      pcVar12 = "SQUAD";\n      uVar13 = 8;\n      break;\n    case 0x11c:\n      pcVar12 = "LONG";\n      uVar13 = 4;\n      break;\n    case 0x11d:\n      pcVar12 = "SHORT";\n      uVar13 = 2;\n      break;\n    case 0x11e:\n      pcVar12 = "BYTE";\n      uVar13 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar17 = (ulong)(uint)(1 << ((byte)opb_shift & 0x1f));\n    if (uVar17 < uVar13) {\n      uVar17 = uVar13;\n    }\n    minfo("0x%V %W %s 0x%v",plVar19,uVar17 >> ((byte)opb_shift & 0x3f),pcVar12,\n          (s->wild_statement).section_list);\n    if (((s->reloc_statement).howto)->pc_relative != 7) {\n      print_space();\n      exp_print_tree((s->data_statement).exp);\n    }\n    print_nl();\n    print_dot = (uVar17 >> ((byte)opb_shift & 0x3f)) + (long)plVar19;\n    break;\n  case lang_reloc_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    p_Var20 = (s->wild_statement).walk_wild_section_handler;\n    if ((s->reloc_statement).output_section != (asection *)0x0) {\n      p_Var20 = p_Var20 + ((s->reloc_statement).output_section)->vma;\n    }\n    uVar9 = bfd_get_reloc_size((s->data_statement).exp);\n    minfo("0x%V %W RELOC %s ",p_Var20,(ulong)(uVar9 >> ((byte)opb_shift & 0x3f)),\n          ((s->reloc_statement).howto)->name);\n    paVar10 = (s->data_statement).output_section;\n    if (paVar10 == (asection *)0x0) {\n      paVar10 = (asection *)((s->wild_statement).section_list)->next;\n    }\n    minfo("%s+",paVar10);\n    exp_print_tree((etree_type *)(s->wild_statement).children.head);\n    print_nl();\n    print_dot = (bfd_vma)(p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f)));\n    break;\n  case lang_target_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf((FILE *)config.map_file,pcVar18,pcVar12);\n    return;\n  case lang_output_statement_enum:\n    minfo("OUTPUT(%s",(s->wild_statement).filename);\n    if (output_target != (char *)0x0) {\n      minfo(" %s");\n    }\n    pcVar12 = ")\n";\nLAB_00113bd7:\n    minfo(pcVar12);\n    return;\n  case lang_padding_statement_enum:\n    init_opb();\n    iVar15 = 9;\n    minfo(" *fill*");\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    pcVar12 = (s->wild_statement).filename;\n    if ((s->output_section_statement).next != (lang_output_section_statement_struct *)0x0) {\n      pcVar12 = pcVar12 + (long)((s->output_section_statement).next)->prev;\n    }\n    minfo("0x%V %W ",pcVar12,(s->padding_statement).size >> ((byte)opb_shift & 0x3f));\n    pfVar5 = (s->padding_statement).fill;\n    sVar6 = pfVar5->size;\n    if (sVar6 != 0) {\n      puVar16 = pfVar5->data;\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    print_nl();\n    print_dot = (bfd_vma)(pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f)));\n    break;\n  case lang_group_statement_enum:\n    fwrite("START GROUP\n",1,0xc,(FILE *)config.map_file);\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    fwrite("END GROUP\n",1,10,(FILE *)config.map_file);\n    return;\n  case lang_insert_statement_enum:\n    pcVar12 = "BEFORE";\n    if ((s->wild_statement).filenames_sorted == 0) {\n      pcVar12 = "AFTER";\n    }\n    minfo("INSERT %s %s\n",pcVar12,(s->wild_statement).filename);\n    return;\n  case lang_constructors_statement_enum:\n    if (constructor_list.head != (lang_statement_union *)0x0) {\n      if (constructors_sorted == 0) {\n        minfo(" CONSTRUCTORS\n");\n        plVar4 = constructor_list.head;\n      }\n      else {\n        minfo(" SORT (CONSTRUCTORS)\n");\n        plVar4 = constructor_list.head;\n      }\n      for (; plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n        print_statement(plVar4,os);\n      }\n    }\n    break;\n  default:\n    pcVar12 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf((FILE *)config.map_file,pcVar12,(ulong)sVar2);\n    info_assert("../../ld/ldlang.c",0x11bc);\n    return;\n  }\n  return;\n}\n\n" (function_definition "void print_statement(lang_statement_union_type *s,lang_output_section_statement_type *os)\n\n{\n  byte bVar1;\n  statement_enum sVar2;\n  name_list *pnVar3;\n  lang_statement_union_type *plVar4;\n  fill_type *pfVar5;\n  size_t sVar6;\n  undefined8 *puVar7;\n  bool bVar8;\n  uint uVar9;\n  asection *paVar10;\n  size_t sVar11;\n  char *pcVar12;\n  ulong uVar13;\n  long lVar14;\n  int iVar15;\n  uchar *puVar16;\n  ulong uVar17;\n  asection *current_section;\n  char *pcVar18;\n  lang_statement_union *plVar19;\n  etree_type *tree;\n  walk_wild_section_handler_t p_Var20;\n  bfd_vma bVar21;\n  \n  sVar2 = (s->header).type;\n  switch(sVar2) {\n  case lang_output_section_statement_enum:\n    if (s != (lang_statement_union_type *)abs_output_section) {\n      paVar10 = (s->output_section_statement).bfd_section;\n      minfo("\n%s",(s->wild_statement).children.head);\n      if (paVar10 != (asection *)0x0) {\n        print_dot = paVar10->vma;\n        sVar11 = strlen((s->output_section_statement).name);\n        uVar13 = sVar11 & 0xffffffff;\n        if (0xe < (int)sVar11) {\n          print_nl();\n          uVar13 = 0;\n        }\n        do {\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        } while (uVar9 != 0x10);\n        minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));\n        bVar21 = paVar10->lma;\n        if (paVar10->vma != bVar21) {\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }\n        if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }\n      }\n      print_nl();\n    }\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,&s->output_section_statement);\n    }\n    break;\n  case lang_assignment_statement_enum:\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    paVar10 = (s->input_section).section;\n    current_section = os->bfd_section;\n    tree = (etree_type *)paVar10->prev;\n    if (*(int *)&paVar10->next == 8) {\n      bVar8 = false;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\nLAB_001141b0:\n      exp_fold_tree(tree,current_section,&print_dot);\n      bVar21 = expld.result.value;\n      paVar10 = (s->input_section).section;\n      if (expld.result.valid_p == 0) goto LAB_00113952;\n      if (*(int *)&paVar10->next == 8) {\n        if (expld.result.section != (asection *)0x0) {\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }\n        minfo("0x%V",bVar21);\n        if (bVar8) {\nLAB_00114222:\n          print_dot = bVar21;\n        }\n      }\n      else {\n        if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }\n        if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }\n      }\n    }\n    else {\n      if ((*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {\n        bVar8 = false;\n        expld.assign_name = (char *)tree;\n      }\n      tree = *(etree_type **)&paVar10->flags;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\n      if (*(int *)&paVar10->next != 5) goto LAB_001141b0;\n      expld.result.valid_p = 0;\nLAB_00113952:\n      if (*(int *)&paVar10->next == 5) {\n        minfo("[!provide]");\n      }\n      else {\n        minfo("*undef*   ");\n      }\n      minfo("        ");\n    }\n    expld.assign_name = (char *)0x0;\n    minfo("                ");\n    plVar19 = (s->output_section_statement).children.head;\nLAB_001139f8:\n    exp_print_tree((etree_type *)plVar19);\n    print_nl();\n    return;\n  case lang_input_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    if ((pcVar12 != (char *)0x0) &&\n       (((s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)))) {\n      pcVar18 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case lang_address_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = (char *)dcgettext(0,"Address of section %s set to ",5);\n    minfo(pcVar18,pcVar12);\n    plVar19 = (lang_statement_union *)(s->data_statement).exp;\n    goto LAB_001139f8;\n  case lang_wild_statement_enum:\n    print_space();\n    if ((s->wild_statement).exclude_name_list != (name_list *)0x0) {\n      minfo("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name);\n      for (pnVar3 = ((s->wild_statement).exclude_name_list)->next; pnVar3 != (name_list *)0x0;\n          pnVar3 = pnVar3->next) {\n        minfo(" %s",pnVar3->name);\n      }\n      minfo(") ");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo("SORT_BY_NAME(");\n    }\n    if ((s->wild_statement).filename == (char *)0x0) {\n      minfo("*");\n    }\n    else {\n      minfo("%s");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo(")");\n    }\n    minfo("(");\n    for (paVar10 = (s->reloc_statement).section; paVar10 != (asection *)0x0;\n        paVar10 = (asection *)paVar10->name) {\n      switch(*(undefined4 *)&paVar10->prev) {\n      default:\n        iVar15 = 0;\n        break;\n      case 1:\n        iVar15 = 1;\n        minfo("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar15 = 1;\n        minfo("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar15 = 2;\n        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar15 = 2;\n        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar15 = 1;\n        minfo("SORT_NONE(");\n        break;\n      case 6:\n        iVar15 = 1;\n        minfo("SORT_BY_INIT_PRIORITY(");\n      }\n      if (paVar10->next != (bfd_section *)0x0) {\n        minfo("EXCLUDE_FILE(%s",paVar10->next->name);\n        for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;\n            puVar7 = (undefined8 *)puVar7[1]) {\n          minfo(" %s",*puVar7);\n        }\n        minfo(") ");\n      }\n      lVar14._0_4_ = paVar10->id;\n      lVar14._4_4_ = paVar10->index;\n      if (lVar14 == 0) {\n        minfo("*");\n      }\n      else {\n        minfo("%s");\n      }\n      if ((iVar15 != 0) && (minfo(")"), iVar15 != 1)) {\n        minfo(")");\n      }\n      if (paVar10->name == (char *)0x0) break;\n      minfo(" ");\n    }\n    minfo(")");\n    print_nl();\n    for (plVar4 = (s->wild_statement).children.head; plVar4 != (lang_statement_union_type *)0x0;\n        plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    break;\n  case lang_input_section_enum:\n    print_input_section((s->input_section).section,0);\n    return;\n  case lang_object_symbols_statement_enum:\n    pcVar12 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case lang_fill_statement_enum:\n    fwrite(" FILL mask 0x",1,0xd,(FILE *)config.map_file);\n    pfVar5 = (s->fill_statement).fill;\n    sVar6 = pfVar5->size;\n    puVar16 = pfVar5->data;\n    if (sVar6 != 0) {\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    fputc(10,(FILE *)config.map_file);\n    return;\n  case lang_data_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    plVar19 = (s->wild_statement).children.head;\n    if ((s->output_section_statement).prev != (lang_output_section_statement_struct *)0x0) {\n      plVar19 = (lang_statement_union *)\n                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19);\n    }\n    switch((s->data_statement).type) {\n    case 0x11a:\n      pcVar12 = "QUAD";\n      uVar13 = 8;\n      break;\n    case 0x11b:\n      pcVar12 = "SQUAD";\n      uVar13 = 8;\n      break;\n    case 0x11c:\n      pcVar12 = "LONG";\n      uVar13 = 4;\n      break;\n    case 0x11d:\n      pcVar12 = "SHORT";\n      uVar13 = 2;\n      break;\n    case 0x11e:\n      pcVar12 = "BYTE";\n      uVar13 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar17 = (ulong)(uint)(1 << ((byte)opb_shift & 0x1f));\n    if (uVar17 < uVar13) {\n      uVar17 = uVar13;\n    }\n    minfo("0x%V %W %s 0x%v",plVar19,uVar17 >> ((byte)opb_shift & 0x3f),pcVar12,\n          (s->wild_statement).section_list);\n    if (((s->reloc_statement).howto)->pc_relative != 7) {\n      print_space();\n      exp_print_tree((s->data_statement).exp);\n    }\n    print_nl();\n    print_dot = (uVar17 >> ((byte)opb_shift & 0x3f)) + (long)plVar19;\n    break;\n  case lang_reloc_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    p_Var20 = (s->wild_statement).walk_wild_section_handler;\n    if ((s->reloc_statement).output_section != (asection *)0x0) {\n      p_Var20 = p_Var20 + ((s->reloc_statement).output_section)->vma;\n    }\n    uVar9 = bfd_get_reloc_size((s->data_statement).exp);\n    minfo("0x%V %W RELOC %s ",p_Var20,(ulong)(uVar9 >> ((byte)opb_shift & 0x3f)),\n          ((s->reloc_statement).howto)->name);\n    paVar10 = (s->data_statement).output_section;\n    if (paVar10 == (asection *)0x0) {\n      paVar10 = (asection *)((s->wild_statement).section_list)->next;\n    }\n    minfo("%s+",paVar10);\n    exp_print_tree((etree_type *)(s->wild_statement).children.head);\n    print_nl();\n    print_dot = (bfd_vma)(p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f)));\n    break;\n  case lang_target_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf((FILE *)config.map_file,pcVar18,pcVar12);\n    return;\n  case lang_output_statement_enum:\n    minfo("OUTPUT(%s",(s->wild_statement).filename);\n    if (output_target != (char *)0x0) {\n      minfo(" %s");\n    }\n    pcVar12 = ")\n";\nLAB_00113bd7:\n    minfo(pcVar12);\n    return;\n  case lang_padding_statement_enum:\n    init_opb();\n    iVar15 = 9;\n    minfo(" *fill*");\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    pcVar12 = (s->wild_statement).filename;\n    if ((s->output_section_statement).next != (lang_output_section_statement_struct *)0x0) {\n      pcVar12 = pcVar12 + (long)((s->output_section_statement).next)->prev;\n    }\n    minfo("0x%V %W ",pcVar12,(s->padding_statement).size >> ((byte)opb_shift & 0x3f));\n    pfVar5 = (s->padding_statement).fill;\n    sVar6 = pfVar5->size;\n    if (sVar6 != 0) {\n      puVar16 = pfVar5->data;\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    print_nl();\n    print_dot = (bfd_vma)(pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f)));\n    break;\n  case lang_group_statement_enum:\n    fwrite("START GROUP\n",1,0xc,(FILE *)config.map_file);\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    fwrite("END GROUP\n",1,10,(FILE *)config.map_file);\n    return;\n  case lang_insert_statement_enum:\n    pcVar12 = "BEFORE";\n    if ((s->wild_statement).filenames_sorted == 0) {\n      pcVar12 = "AFTER";\n    }\n    minfo("INSERT %s %s\n",pcVar12,(s->wild_statement).filename);\n    return;\n  case lang_constructors_statement_enum:\n    if (constructor_list.head != (lang_statement_union *)0x0) {\n      if (constructors_sorted == 0) {\n        minfo(" CONSTRUCTORS\n");\n        plVar4 = constructor_list.head;\n      }\n      else {\n        minfo(" SORT (CONSTRUCTORS)\n");\n        plVar4 = constructor_list.head;\n      }\n      for (; plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n        print_statement(plVar4,os);\n      }\n    }\n    break;\n  default:\n    pcVar12 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf((FILE *)config.map_file,pcVar12,(ulong)sVar2);\n    info_assert("../../ld/ldlang.c",0x11bc);\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "print_statement(lang_statement_union_type *s,lang_output_section_statement_type *os)" identifier (parameter_list "(lang_statement_union_type *s,lang_output_section_statement_type *os)" ( (parameter_declaration "lang_statement_union_type *s" type_identifier (pointer_declarator "*s" * identifier)) , (parameter_declaration "lang_output_section_statement_type *os" type_identifier (pointer_declarator "*os" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  statement_enum sVar2;\n  name_list *pnVar3;\n  lang_statement_union_type *plVar4;\n  fill_type *pfVar5;\n  size_t sVar6;\n  undefined8 *puVar7;\n  bool bVar8;\n  uint uVar9;\n  asection *paVar10;\n  size_t sVar11;\n  char *pcVar12;\n  ulong uVar13;\n  long lVar14;\n  int iVar15;\n  uchar *puVar16;\n  ulong uVar17;\n  asection *current_section;\n  char *pcVar18;\n  lang_statement_union *plVar19;\n  etree_type *tree;\n  walk_wild_section_handler_t p_Var20;\n  bfd_vma bVar21;\n  \n  sVar2 = (s->header).type;\n  switch(sVar2) {\n  case lang_output_section_statement_enum:\n    if (s != (lang_statement_union_type *)abs_output_section) {\n      paVar10 = (s->output_section_statement).bfd_section;\n      minfo("\n%s",(s->wild_statement).children.head);\n      if (paVar10 != (asection *)0x0) {\n        print_dot = paVar10->vma;\n        sVar11 = strlen((s->output_section_statement).name);\n        uVar13 = sVar11 & 0xffffffff;\n        if (0xe < (int)sVar11) {\n          print_nl();\n          uVar13 = 0;\n        }\n        do {\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        } while (uVar9 != 0x10);\n        minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));\n        bVar21 = paVar10->lma;\n        if (paVar10->vma != bVar21) {\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }\n        if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }\n      }\n      print_nl();\n    }\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,&s->output_section_statement);\n    }\n    break;\n  case lang_assignment_statement_enum:\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    paVar10 = (s->input_section).section;\n    current_section = os->bfd_section;\n    tree = (etree_type *)paVar10->prev;\n    if (*(int *)&paVar10->next == 8) {\n      bVar8 = false;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\nLAB_001141b0:\n      exp_fold_tree(tree,current_section,&print_dot);\n      bVar21 = expld.result.value;\n      paVar10 = (s->input_section).section;\n      if (expld.result.valid_p == 0) goto LAB_00113952;\n      if (*(int *)&paVar10->next == 8) {\n        if (expld.result.section != (asection *)0x0) {\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }\n        minfo("0x%V",bVar21);\n        if (bVar8) {\nLAB_00114222:\n          print_dot = bVar21;\n        }\n      }\n      else {\n        if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }\n        if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }\n      }\n    }\n    else {\n      if ((*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {\n        bVar8 = false;\n        expld.assign_name = (char *)tree;\n      }\n      tree = *(etree_type **)&paVar10->flags;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\n      if (*(int *)&paVar10->next != 5) goto LAB_001141b0;\n      expld.result.valid_p = 0;\nLAB_00113952:\n      if (*(int *)&paVar10->next == 5) {\n        minfo("[!provide]");\n      }\n      else {\n        minfo("*undef*   ");\n      }\n      minfo("        ");\n    }\n    expld.assign_name = (char *)0x0;\n    minfo("                ");\n    plVar19 = (s->output_section_statement).children.head;\nLAB_001139f8:\n    exp_print_tree((etree_type *)plVar19);\n    print_nl();\n    return;\n  case lang_input_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    if ((pcVar12 != (char *)0x0) &&\n       (((s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)))) {\n      pcVar18 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case lang_address_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = (char *)dcgettext(0,"Address of section %s set to ",5);\n    minfo(pcVar18,pcVar12);\n    plVar19 = (lang_statement_union *)(s->data_statement).exp;\n    goto LAB_001139f8;\n  case lang_wild_statement_enum:\n    print_space();\n    if ((s->wild_statement).exclude_name_list != (name_list *)0x0) {\n      minfo("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name);\n      for (pnVar3 = ((s->wild_statement).exclude_name_list)->next; pnVar3 != (name_list *)0x0;\n          pnVar3 = pnVar3->next) {\n        minfo(" %s",pnVar3->name);\n      }\n      minfo(") ");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo("SORT_BY_NAME(");\n    }\n    if ((s->wild_statement).filename == (char *)0x0) {\n      minfo("*");\n    }\n    else {\n      minfo("%s");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo(")");\n    }\n    minfo("(");\n    for (paVar10 = (s->reloc_statement).section; paVar10 != (asection *)0x0;\n        paVar10 = (asection *)paVar10->name) {\n      switch(*(undefined4 *)&paVar10->prev) {\n      default:\n        iVar15 = 0;\n        break;\n      case 1:\n        iVar15 = 1;\n        minfo("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar15 = 1;\n        minfo("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar15 = 2;\n        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar15 = 2;\n        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar15 = 1;\n        minfo("SORT_NONE(");\n        break;\n      case 6:\n        iVar15 = 1;\n        minfo("SORT_BY_INIT_PRIORITY(");\n      }\n      if (paVar10->next != (bfd_section *)0x0) {\n        minfo("EXCLUDE_FILE(%s",paVar10->next->name);\n        for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;\n            puVar7 = (undefined8 *)puVar7[1]) {\n          minfo(" %s",*puVar7);\n        }\n        minfo(") ");\n      }\n      lVar14._0_4_ = paVar10->id;\n      lVar14._4_4_ = paVar10->index;\n      if (lVar14 == 0) {\n        minfo("*");\n      }\n      else {\n        minfo("%s");\n      }\n      if ((iVar15 != 0) && (minfo(")"), iVar15 != 1)) {\n        minfo(")");\n      }\n      if (paVar10->name == (char *)0x0) break;\n      minfo(" ");\n    }\n    minfo(")");\n    print_nl();\n    for (plVar4 = (s->wild_statement).children.head; plVar4 != (lang_statement_union_type *)0x0;\n        plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    break;\n  case lang_input_section_enum:\n    print_input_section((s->input_section).section,0);\n    return;\n  case lang_object_symbols_statement_enum:\n    pcVar12 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case lang_fill_statement_enum:\n    fwrite(" FILL mask 0x",1,0xd,(FILE *)config.map_file);\n    pfVar5 = (s->fill_statement).fill;\n    sVar6 = pfVar5->size;\n    puVar16 = pfVar5->data;\n    if (sVar6 != 0) {\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    fputc(10,(FILE *)config.map_file);\n    return;\n  case lang_data_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    plVar19 = (s->wild_statement).children.head;\n    if ((s->output_section_statement).prev != (lang_output_section_statement_struct *)0x0) {\n      plVar19 = (lang_statement_union *)\n                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19);\n    }\n    switch((s->data_statement).type) {\n    case 0x11a:\n      pcVar12 = "QUAD";\n      uVar13 = 8;\n      break;\n    case 0x11b:\n      pcVar12 = "SQUAD";\n      uVar13 = 8;\n      break;\n    case 0x11c:\n      pcVar12 = "LONG";\n      uVar13 = 4;\n      break;\n    case 0x11d:\n      pcVar12 = "SHORT";\n      uVar13 = 2;\n      break;\n    case 0x11e:\n      pcVar12 = "BYTE";\n      uVar13 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar17 = (ulong)(uint)(1 << ((byte)opb_shift & 0x1f));\n    if (uVar17 < uVar13) {\n      uVar17 = uVar13;\n    }\n    minfo("0x%V %W %s 0x%v",plVar19,uVar17 >> ((byte)opb_shift & 0x3f),pcVar12,\n          (s->wild_statement).section_list);\n    if (((s->reloc_statement).howto)->pc_relative != 7) {\n      print_space();\n      exp_print_tree((s->data_statement).exp);\n    }\n    print_nl();\n    print_dot = (uVar17 >> ((byte)opb_shift & 0x3f)) + (long)plVar19;\n    break;\n  case lang_reloc_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    p_Var20 = (s->wild_statement).walk_wild_section_handler;\n    if ((s->reloc_statement).output_section != (asection *)0x0) {\n      p_Var20 = p_Var20 + ((s->reloc_statement).output_section)->vma;\n    }\n    uVar9 = bfd_get_reloc_size((s->data_statement).exp);\n    minfo("0x%V %W RELOC %s ",p_Var20,(ulong)(uVar9 >> ((byte)opb_shift & 0x3f)),\n          ((s->reloc_statement).howto)->name);\n    paVar10 = (s->data_statement).output_section;\n    if (paVar10 == (asection *)0x0) {\n      paVar10 = (asection *)((s->wild_statement).section_list)->next;\n    }\n    minfo("%s+",paVar10);\n    exp_print_tree((etree_type *)(s->wild_statement).children.head);\n    print_nl();\n    print_dot = (bfd_vma)(p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f)));\n    break;\n  case lang_target_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf((FILE *)config.map_file,pcVar18,pcVar12);\n    return;\n  case lang_output_statement_enum:\n    minfo("OUTPUT(%s",(s->wild_statement).filename);\n    if (output_target != (char *)0x0) {\n      minfo(" %s");\n    }\n    pcVar12 = ")\n";\nLAB_00113bd7:\n    minfo(pcVar12);\n    return;\n  case lang_padding_statement_enum:\n    init_opb();\n    iVar15 = 9;\n    minfo(" *fill*");\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    pcVar12 = (s->wild_statement).filename;\n    if ((s->output_section_statement).next != (lang_output_section_statement_struct *)0x0) {\n      pcVar12 = pcVar12 + (long)((s->output_section_statement).next)->prev;\n    }\n    minfo("0x%V %W ",pcVar12,(s->padding_statement).size >> ((byte)opb_shift & 0x3f));\n    pfVar5 = (s->padding_statement).fill;\n    sVar6 = pfVar5->size;\n    if (sVar6 != 0) {\n      puVar16 = pfVar5->data;\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    print_nl();\n    print_dot = (bfd_vma)(pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f)));\n    break;\n  case lang_group_statement_enum:\n    fwrite("START GROUP\n",1,0xc,(FILE *)config.map_file);\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    fwrite("END GROUP\n",1,10,(FILE *)config.map_file);\n    return;\n  case lang_insert_statement_enum:\n    pcVar12 = "BEFORE";\n    if ((s->wild_statement).filenames_sorted == 0) {\n      pcVar12 = "AFTER";\n    }\n    minfo("INSERT %s %s\n",pcVar12,(s->wild_statement).filename);\n    return;\n  case lang_constructors_statement_enum:\n    if (constructor_list.head != (lang_statement_union *)0x0) {\n      if (constructors_sorted == 0) {\n        minfo(" CONSTRUCTORS\n");\n        plVar4 = constructor_list.head;\n      }\n      else {\n        minfo(" SORT (CONSTRUCTORS)\n");\n        plVar4 = constructor_list.head;\n      }\n      for (; plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n        print_statement(plVar4,os);\n      }\n    }\n    break;\n  default:\n    pcVar12 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf((FILE *)config.map_file,pcVar12,(ulong)sVar2);\n    info_assert("../../ld/ldlang.c",0x11bc);\n    return;\n  }\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "statement_enum sVar2;" type_identifier identifier ;) (declaration "name_list *pnVar3;" type_identifier (pointer_declarator "*pnVar3" * identifier) ;) (declaration "lang_statement_union_type *plVar4;" type_identifier (pointer_declarator "*plVar4" * identifier) ;) (declaration "fill_type *pfVar5;" type_identifier (pointer_declarator "*pfVar5" * identifier) ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "undefined8 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "asection *paVar10;" type_identifier (pointer_declarator "*paVar10" * identifier) ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "long lVar14;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uchar *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "asection *current_section;" type_identifier (pointer_declarator "*current_section" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "lang_statement_union *plVar19;" type_identifier (pointer_declarator "*plVar19" * identifier) ;) (declaration "etree_type *tree;" type_identifier (pointer_declarator "*tree" * identifier) ;) (declaration "walk_wild_section_handler_t p_Var20;" type_identifier identifier ;) (declaration "bfd_vma bVar21;" type_identifier identifier ;) (expression_statement "sVar2 = (s->header).type;" (assignment_expression "sVar2 = (s->header).type" identifier = (field_expression "(s->header).type" (parenthesized_expression "(s->header)" ( (field_expression "s->header" identifier -> field_identifier) )) . field_identifier)) ;) (switch_statement "switch(sVar2) {\n  case lang_output_section_statement_enum:\n    if (s != (lang_statement_union_type *)abs_output_section) {\n      paVar10 = (s->output_section_statement).bfd_section;\n      minfo("\n%s",(s->wild_statement).children.head);\n      if (paVar10 != (asection *)0x0) {\n        print_dot = paVar10->vma;\n        sVar11 = strlen((s->output_section_statement).name);\n        uVar13 = sVar11 & 0xffffffff;\n        if (0xe < (int)sVar11) {\n          print_nl();\n          uVar13 = 0;\n        }\n        do {\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        } while (uVar9 != 0x10);\n        minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));\n        bVar21 = paVar10->lma;\n        if (paVar10->vma != bVar21) {\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }\n        if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }\n      }\n      print_nl();\n    }\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,&s->output_section_statement);\n    }\n    break;\n  case lang_assignment_statement_enum:\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    paVar10 = (s->input_section).section;\n    current_section = os->bfd_section;\n    tree = (etree_type *)paVar10->prev;\n    if (*(int *)&paVar10->next == 8) {\n      bVar8 = false;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\nLAB_001141b0:\n      exp_fold_tree(tree,current_section,&print_dot);\n      bVar21 = expld.result.value;\n      paVar10 = (s->input_section).section;\n      if (expld.result.valid_p == 0) goto LAB_00113952;\n      if (*(int *)&paVar10->next == 8) {\n        if (expld.result.section != (asection *)0x0) {\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }\n        minfo("0x%V",bVar21);\n        if (bVar8) {\nLAB_00114222:\n          print_dot = bVar21;\n        }\n      }\n      else {\n        if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }\n        if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }\n      }\n    }\n    else {\n      if ((*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {\n        bVar8 = false;\n        expld.assign_name = (char *)tree;\n      }\n      tree = *(etree_type **)&paVar10->flags;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\n      if (*(int *)&paVar10->next != 5) goto LAB_001141b0;\n      expld.result.valid_p = 0;\nLAB_00113952:\n      if (*(int *)&paVar10->next == 5) {\n        minfo("[!provide]");\n      }\n      else {\n        minfo("*undef*   ");\n      }\n      minfo("        ");\n    }\n    expld.assign_name = (char *)0x0;\n    minfo("                ");\n    plVar19 = (s->output_section_statement).children.head;\nLAB_001139f8:\n    exp_print_tree((etree_type *)plVar19);\n    print_nl();\n    return;\n  case lang_input_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    if ((pcVar12 != (char *)0x0) &&\n       (((s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)))) {\n      pcVar18 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case lang_address_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = (char *)dcgettext(0,"Address of section %s set to ",5);\n    minfo(pcVar18,pcVar12);\n    plVar19 = (lang_statement_union *)(s->data_statement).exp;\n    goto LAB_001139f8;\n  case lang_wild_statement_enum:\n    print_space();\n    if ((s->wild_statement).exclude_name_list != (name_list *)0x0) {\n      minfo("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name);\n      for (pnVar3 = ((s->wild_statement).exclude_name_list)->next; pnVar3 != (name_list *)0x0;\n          pnVar3 = pnVar3->next) {\n        minfo(" %s",pnVar3->name);\n      }\n      minfo(") ");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo("SORT_BY_NAME(");\n    }\n    if ((s->wild_statement).filename == (char *)0x0) {\n      minfo("*");\n    }\n    else {\n      minfo("%s");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo(")");\n    }\n    minfo("(");\n    for (paVar10 = (s->reloc_statement).section; paVar10 != (asection *)0x0;\n        paVar10 = (asection *)paVar10->name) {\n      switch(*(undefined4 *)&paVar10->prev) {\n      default:\n        iVar15 = 0;\n        break;\n      case 1:\n        iVar15 = 1;\n        minfo("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar15 = 1;\n        minfo("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar15 = 2;\n        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar15 = 2;\n        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar15 = 1;\n        minfo("SORT_NONE(");\n        break;\n      case 6:\n        iVar15 = 1;\n        minfo("SORT_BY_INIT_PRIORITY(");\n      }\n      if (paVar10->next != (bfd_section *)0x0) {\n        minfo("EXCLUDE_FILE(%s",paVar10->next->name);\n        for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;\n            puVar7 = (undefined8 *)puVar7[1]) {\n          minfo(" %s",*puVar7);\n        }\n        minfo(") ");\n      }\n      lVar14._0_4_ = paVar10->id;\n      lVar14._4_4_ = paVar10->index;\n      if (lVar14 == 0) {\n        minfo("*");\n      }\n      else {\n        minfo("%s");\n      }\n      if ((iVar15 != 0) && (minfo(")"), iVar15 != 1)) {\n        minfo(")");\n      }\n      if (paVar10->name == (char *)0x0) break;\n      minfo(" ");\n    }\n    minfo(")");\n    print_nl();\n    for (plVar4 = (s->wild_statement).children.head; plVar4 != (lang_statement_union_type *)0x0;\n        plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    break;\n  case lang_input_section_enum:\n    print_input_section((s->input_section).section,0);\n    return;\n  case lang_object_symbols_statement_enum:\n    pcVar12 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case lang_fill_statement_enum:\n    fwrite(" FILL mask 0x",1,0xd,(FILE *)config.map_file);\n    pfVar5 = (s->fill_statement).fill;\n    sVar6 = pfVar5->size;\n    puVar16 = pfVar5->data;\n    if (sVar6 != 0) {\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    fputc(10,(FILE *)config.map_file);\n    return;\n  case lang_data_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    plVar19 = (s->wild_statement).children.head;\n    if ((s->output_section_statement).prev != (lang_output_section_statement_struct *)0x0) {\n      plVar19 = (lang_statement_union *)\n                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19);\n    }\n    switch((s->data_statement).type) {\n    case 0x11a:\n      pcVar12 = "QUAD";\n      uVar13 = 8;\n      break;\n    case 0x11b:\n      pcVar12 = "SQUAD";\n      uVar13 = 8;\n      break;\n    case 0x11c:\n      pcVar12 = "LONG";\n      uVar13 = 4;\n      break;\n    case 0x11d:\n      pcVar12 = "SHORT";\n      uVar13 = 2;\n      break;\n    case 0x11e:\n      pcVar12 = "BYTE";\n      uVar13 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar17 = (ulong)(uint)(1 << ((byte)opb_shift & 0x1f));\n    if (uVar17 < uVar13) {\n      uVar17 = uVar13;\n    }\n    minfo("0x%V %W %s 0x%v",plVar19,uVar17 >> ((byte)opb_shift & 0x3f),pcVar12,\n          (s->wild_statement).section_list);\n    if (((s->reloc_statement).howto)->pc_relative != 7) {\n      print_space();\n      exp_print_tree((s->data_statement).exp);\n    }\n    print_nl();\n    print_dot = (uVar17 >> ((byte)opb_shift & 0x3f)) + (long)plVar19;\n    break;\n  case lang_reloc_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    p_Var20 = (s->wild_statement).walk_wild_section_handler;\n    if ((s->reloc_statement).output_section != (asection *)0x0) {\n      p_Var20 = p_Var20 + ((s->reloc_statement).output_section)->vma;\n    }\n    uVar9 = bfd_get_reloc_size((s->data_statement).exp);\n    minfo("0x%V %W RELOC %s ",p_Var20,(ulong)(uVar9 >> ((byte)opb_shift & 0x3f)),\n          ((s->reloc_statement).howto)->name);\n    paVar10 = (s->data_statement).output_section;\n    if (paVar10 == (asection *)0x0) {\n      paVar10 = (asection *)((s->wild_statement).section_list)->next;\n    }\n    minfo("%s+",paVar10);\n    exp_print_tree((etree_type *)(s->wild_statement).children.head);\n    print_nl();\n    print_dot = (bfd_vma)(p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f)));\n    break;\n  case lang_target_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf((FILE *)config.map_file,pcVar18,pcVar12);\n    return;\n  case lang_output_statement_enum:\n    minfo("OUTPUT(%s",(s->wild_statement).filename);\n    if (output_target != (char *)0x0) {\n      minfo(" %s");\n    }\n    pcVar12 = ")\n";\nLAB_00113bd7:\n    minfo(pcVar12);\n    return;\n  case lang_padding_statement_enum:\n    init_opb();\n    iVar15 = 9;\n    minfo(" *fill*");\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    pcVar12 = (s->wild_statement).filename;\n    if ((s->output_section_statement).next != (lang_output_section_statement_struct *)0x0) {\n      pcVar12 = pcVar12 + (long)((s->output_section_statement).next)->prev;\n    }\n    minfo("0x%V %W ",pcVar12,(s->padding_statement).size >> ((byte)opb_shift & 0x3f));\n    pfVar5 = (s->padding_statement).fill;\n    sVar6 = pfVar5->size;\n    if (sVar6 != 0) {\n      puVar16 = pfVar5->data;\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    print_nl();\n    print_dot = (bfd_vma)(pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f)));\n    break;\n  case lang_group_statement_enum:\n    fwrite("START GROUP\n",1,0xc,(FILE *)config.map_file);\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    fwrite("END GROUP\n",1,10,(FILE *)config.map_file);\n    return;\n  case lang_insert_statement_enum:\n    pcVar12 = "BEFORE";\n    if ((s->wild_statement).filenames_sorted == 0) {\n      pcVar12 = "AFTER";\n    }\n    minfo("INSERT %s %s\n",pcVar12,(s->wild_statement).filename);\n    return;\n  case lang_constructors_statement_enum:\n    if (constructor_list.head != (lang_statement_union *)0x0) {\n      if (constructors_sorted == 0) {\n        minfo(" CONSTRUCTORS\n");\n        plVar4 = constructor_list.head;\n      }\n      else {\n        minfo(" SORT (CONSTRUCTORS)\n");\n        plVar4 = constructor_list.head;\n      }\n      for (; plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n        print_statement(plVar4,os);\n      }\n    }\n    break;\n  default:\n    pcVar12 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf((FILE *)config.map_file,pcVar12,(ulong)sVar2);\n    info_assert("../../ld/ldlang.c",0x11bc);\n    return;\n  }" switch (parenthesized_expression "(sVar2)" ( identifier )) (compound_statement "{\n  case lang_output_section_statement_enum:\n    if (s != (lang_statement_union_type *)abs_output_section) {\n      paVar10 = (s->output_section_statement).bfd_section;\n      minfo("\n%s",(s->wild_statement).children.head);\n      if (paVar10 != (asection *)0x0) {\n        print_dot = paVar10->vma;\n        sVar11 = strlen((s->output_section_statement).name);\n        uVar13 = sVar11 & 0xffffffff;\n        if (0xe < (int)sVar11) {\n          print_nl();\n          uVar13 = 0;\n        }\n        do {\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        } while (uVar9 != 0x10);\n        minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));\n        bVar21 = paVar10->lma;\n        if (paVar10->vma != bVar21) {\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }\n        if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }\n      }\n      print_nl();\n    }\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,&s->output_section_statement);\n    }\n    break;\n  case lang_assignment_statement_enum:\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    paVar10 = (s->input_section).section;\n    current_section = os->bfd_section;\n    tree = (etree_type *)paVar10->prev;\n    if (*(int *)&paVar10->next == 8) {\n      bVar8 = false;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\nLAB_001141b0:\n      exp_fold_tree(tree,current_section,&print_dot);\n      bVar21 = expld.result.value;\n      paVar10 = (s->input_section).section;\n      if (expld.result.valid_p == 0) goto LAB_00113952;\n      if (*(int *)&paVar10->next == 8) {\n        if (expld.result.section != (asection *)0x0) {\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }\n        minfo("0x%V",bVar21);\n        if (bVar8) {\nLAB_00114222:\n          print_dot = bVar21;\n        }\n      }\n      else {\n        if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }\n        if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }\n      }\n    }\n    else {\n      if ((*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {\n        bVar8 = false;\n        expld.assign_name = (char *)tree;\n      }\n      tree = *(etree_type **)&paVar10->flags;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\n      if (*(int *)&paVar10->next != 5) goto LAB_001141b0;\n      expld.result.valid_p = 0;\nLAB_00113952:\n      if (*(int *)&paVar10->next == 5) {\n        minfo("[!provide]");\n      }\n      else {\n        minfo("*undef*   ");\n      }\n      minfo("        ");\n    }\n    expld.assign_name = (char *)0x0;\n    minfo("                ");\n    plVar19 = (s->output_section_statement).children.head;\nLAB_001139f8:\n    exp_print_tree((etree_type *)plVar19);\n    print_nl();\n    return;\n  case lang_input_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    if ((pcVar12 != (char *)0x0) &&\n       (((s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)))) {\n      pcVar18 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case lang_address_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = (char *)dcgettext(0,"Address of section %s set to ",5);\n    minfo(pcVar18,pcVar12);\n    plVar19 = (lang_statement_union *)(s->data_statement).exp;\n    goto LAB_001139f8;\n  case lang_wild_statement_enum:\n    print_space();\n    if ((s->wild_statement).exclude_name_list != (name_list *)0x0) {\n      minfo("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name);\n      for (pnVar3 = ((s->wild_statement).exclude_name_list)->next; pnVar3 != (name_list *)0x0;\n          pnVar3 = pnVar3->next) {\n        minfo(" %s",pnVar3->name);\n      }\n      minfo(") ");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo("SORT_BY_NAME(");\n    }\n    if ((s->wild_statement).filename == (char *)0x0) {\n      minfo("*");\n    }\n    else {\n      minfo("%s");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo(")");\n    }\n    minfo("(");\n    for (paVar10 = (s->reloc_statement).section; paVar10 != (asection *)0x0;\n        paVar10 = (asection *)paVar10->name) {\n      switch(*(undefined4 *)&paVar10->prev) {\n      default:\n        iVar15 = 0;\n        break;\n      case 1:\n        iVar15 = 1;\n        minfo("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar15 = 1;\n        minfo("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar15 = 2;\n        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar15 = 2;\n        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar15 = 1;\n        minfo("SORT_NONE(");\n        break;\n      case 6:\n        iVar15 = 1;\n        minfo("SORT_BY_INIT_PRIORITY(");\n      }\n      if (paVar10->next != (bfd_section *)0x0) {\n        minfo("EXCLUDE_FILE(%s",paVar10->next->name);\n        for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;\n            puVar7 = (undefined8 *)puVar7[1]) {\n          minfo(" %s",*puVar7);\n        }\n        minfo(") ");\n      }\n      lVar14._0_4_ = paVar10->id;\n      lVar14._4_4_ = paVar10->index;\n      if (lVar14 == 0) {\n        minfo("*");\n      }\n      else {\n        minfo("%s");\n      }\n      if ((iVar15 != 0) && (minfo(")"), iVar15 != 1)) {\n        minfo(")");\n      }\n      if (paVar10->name == (char *)0x0) break;\n      minfo(" ");\n    }\n    minfo(")");\n    print_nl();\n    for (plVar4 = (s->wild_statement).children.head; plVar4 != (lang_statement_union_type *)0x0;\n        plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    break;\n  case lang_input_section_enum:\n    print_input_section((s->input_section).section,0);\n    return;\n  case lang_object_symbols_statement_enum:\n    pcVar12 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case lang_fill_statement_enum:\n    fwrite(" FILL mask 0x",1,0xd,(FILE *)config.map_file);\n    pfVar5 = (s->fill_statement).fill;\n    sVar6 = pfVar5->size;\n    puVar16 = pfVar5->data;\n    if (sVar6 != 0) {\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    fputc(10,(FILE *)config.map_file);\n    return;\n  case lang_data_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    plVar19 = (s->wild_statement).children.head;\n    if ((s->output_section_statement).prev != (lang_output_section_statement_struct *)0x0) {\n      plVar19 = (lang_statement_union *)\n                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19);\n    }\n    switch((s->data_statement).type) {\n    case 0x11a:\n      pcVar12 = "QUAD";\n      uVar13 = 8;\n      break;\n    case 0x11b:\n      pcVar12 = "SQUAD";\n      uVar13 = 8;\n      break;\n    case 0x11c:\n      pcVar12 = "LONG";\n      uVar13 = 4;\n      break;\n    case 0x11d:\n      pcVar12 = "SHORT";\n      uVar13 = 2;\n      break;\n    case 0x11e:\n      pcVar12 = "BYTE";\n      uVar13 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar17 = (ulong)(uint)(1 << ((byte)opb_shift & 0x1f));\n    if (uVar17 < uVar13) {\n      uVar17 = uVar13;\n    }\n    minfo("0x%V %W %s 0x%v",plVar19,uVar17 >> ((byte)opb_shift & 0x3f),pcVar12,\n          (s->wild_statement).section_list);\n    if (((s->reloc_statement).howto)->pc_relative != 7) {\n      print_space();\n      exp_print_tree((s->data_statement).exp);\n    }\n    print_nl();\n    print_dot = (uVar17 >> ((byte)opb_shift & 0x3f)) + (long)plVar19;\n    break;\n  case lang_reloc_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    p_Var20 = (s->wild_statement).walk_wild_section_handler;\n    if ((s->reloc_statement).output_section != (asection *)0x0) {\n      p_Var20 = p_Var20 + ((s->reloc_statement).output_section)->vma;\n    }\n    uVar9 = bfd_get_reloc_size((s->data_statement).exp);\n    minfo("0x%V %W RELOC %s ",p_Var20,(ulong)(uVar9 >> ((byte)opb_shift & 0x3f)),\n          ((s->reloc_statement).howto)->name);\n    paVar10 = (s->data_statement).output_section;\n    if (paVar10 == (asection *)0x0) {\n      paVar10 = (asection *)((s->wild_statement).section_list)->next;\n    }\n    minfo("%s+",paVar10);\n    exp_print_tree((etree_type *)(s->wild_statement).children.head);\n    print_nl();\n    print_dot = (bfd_vma)(p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f)));\n    break;\n  case lang_target_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf((FILE *)config.map_file,pcVar18,pcVar12);\n    return;\n  case lang_output_statement_enum:\n    minfo("OUTPUT(%s",(s->wild_statement).filename);\n    if (output_target != (char *)0x0) {\n      minfo(" %s");\n    }\n    pcVar12 = ")\n";\nLAB_00113bd7:\n    minfo(pcVar12);\n    return;\n  case lang_padding_statement_enum:\n    init_opb();\n    iVar15 = 9;\n    minfo(" *fill*");\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    pcVar12 = (s->wild_statement).filename;\n    if ((s->output_section_statement).next != (lang_output_section_statement_struct *)0x0) {\n      pcVar12 = pcVar12 + (long)((s->output_section_statement).next)->prev;\n    }\n    minfo("0x%V %W ",pcVar12,(s->padding_statement).size >> ((byte)opb_shift & 0x3f));\n    pfVar5 = (s->padding_statement).fill;\n    sVar6 = pfVar5->size;\n    if (sVar6 != 0) {\n      puVar16 = pfVar5->data;\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    print_nl();\n    print_dot = (bfd_vma)(pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f)));\n    break;\n  case lang_group_statement_enum:\n    fwrite("START GROUP\n",1,0xc,(FILE *)config.map_file);\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    fwrite("END GROUP\n",1,10,(FILE *)config.map_file);\n    return;\n  case lang_insert_statement_enum:\n    pcVar12 = "BEFORE";\n    if ((s->wild_statement).filenames_sorted == 0) {\n      pcVar12 = "AFTER";\n    }\n    minfo("INSERT %s %s\n",pcVar12,(s->wild_statement).filename);\n    return;\n  case lang_constructors_statement_enum:\n    if (constructor_list.head != (lang_statement_union *)0x0) {\n      if (constructors_sorted == 0) {\n        minfo(" CONSTRUCTORS\n");\n        plVar4 = constructor_list.head;\n      }\n      else {\n        minfo(" SORT (CONSTRUCTORS)\n");\n        plVar4 = constructor_list.head;\n      }\n      for (; plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n        print_statement(plVar4,os);\n      }\n    }\n    break;\n  default:\n    pcVar12 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf((FILE *)config.map_file,pcVar12,(ulong)sVar2);\n    info_assert("../../ld/ldlang.c",0x11bc);\n    return;\n  }" { (case_statement "case lang_output_section_statement_enum:\n    if (s != (lang_statement_union_type *)abs_output_section) {\n      paVar10 = (s->output_section_statement).bfd_section;\n      minfo("\n%s",(s->wild_statement).children.head);\n      if (paVar10 != (asection *)0x0) {\n        print_dot = paVar10->vma;\n        sVar11 = strlen((s->output_section_statement).name);\n        uVar13 = sVar11 & 0xffffffff;\n        if (0xe < (int)sVar11) {\n          print_nl();\n          uVar13 = 0;\n        }\n        do {\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        } while (uVar9 != 0x10);\n        minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));\n        bVar21 = paVar10->lma;\n        if (paVar10->vma != bVar21) {\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }\n        if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }\n      }\n      print_nl();\n    }\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,&s->output_section_statement);\n    }\n    break;" case identifier : (if_statement "if (s != (lang_statement_union_type *)abs_output_section) {\n      paVar10 = (s->output_section_statement).bfd_section;\n      minfo("\n%s",(s->wild_statement).children.head);\n      if (paVar10 != (asection *)0x0) {\n        print_dot = paVar10->vma;\n        sVar11 = strlen((s->output_section_statement).name);\n        uVar13 = sVar11 & 0xffffffff;\n        if (0xe < (int)sVar11) {\n          print_nl();\n          uVar13 = 0;\n        }\n        do {\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        } while (uVar9 != 0x10);\n        minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));\n        bVar21 = paVar10->lma;\n        if (paVar10->vma != bVar21) {\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }\n        if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }\n      }\n      print_nl();\n    }" if (parenthesized_expression "(s != (lang_statement_union_type *)abs_output_section)" ( (binary_expression "s != (lang_statement_union_type *)abs_output_section" identifier != (cast_expression "(lang_statement_union_type *)abs_output_section" ( (type_descriptor "lang_statement_union_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      paVar10 = (s->output_section_statement).bfd_section;\n      minfo("\n%s",(s->wild_statement).children.head);\n      if (paVar10 != (asection *)0x0) {\n        print_dot = paVar10->vma;\n        sVar11 = strlen((s->output_section_statement).name);\n        uVar13 = sVar11 & 0xffffffff;\n        if (0xe < (int)sVar11) {\n          print_nl();\n          uVar13 = 0;\n        }\n        do {\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        } while (uVar9 != 0x10);\n        minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));\n        bVar21 = paVar10->lma;\n        if (paVar10->vma != bVar21) {\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }\n        if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }\n      }\n      print_nl();\n    }" { (expression_statement "paVar10 = (s->output_section_statement).bfd_section;" (assignment_expression "paVar10 = (s->output_section_statement).bfd_section" identifier = (field_expression "(s->output_section_statement).bfd_section" (parenthesized_expression "(s->output_section_statement)" ( (field_expression "s->output_section_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "minfo("\n%s",(s->wild_statement).children.head);" (call_expression "minfo("\n%s",(s->wild_statement).children.head)" identifier (argument_list "("\n%s",(s->wild_statement).children.head)" ( (string_literal ""\n%s"" " escape_sequence string_content ") , (field_expression "(s->wild_statement).children.head" (field_expression "(s->wild_statement).children" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier) ))) ;) (if_statement "if (paVar10 != (asection *)0x0) {\n        print_dot = paVar10->vma;\n        sVar11 = strlen((s->output_section_statement).name);\n        uVar13 = sVar11 & 0xffffffff;\n        if (0xe < (int)sVar11) {\n          print_nl();\n          uVar13 = 0;\n        }\n        do {\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        } while (uVar9 != 0x10);\n        minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));\n        bVar21 = paVar10->lma;\n        if (paVar10->vma != bVar21) {\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }\n        if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }\n      }" if (parenthesized_expression "(paVar10 != (asection *)0x0)" ( (binary_expression "paVar10 != (asection *)0x0" identifier != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        print_dot = paVar10->vma;\n        sVar11 = strlen((s->output_section_statement).name);\n        uVar13 = sVar11 & 0xffffffff;\n        if (0xe < (int)sVar11) {\n          print_nl();\n          uVar13 = 0;\n        }\n        do {\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        } while (uVar9 != 0x10);\n        minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));\n        bVar21 = paVar10->lma;\n        if (paVar10->vma != bVar21) {\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }\n        if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }\n      }" { (expression_statement "print_dot = paVar10->vma;" (assignment_expression "print_dot = paVar10->vma" identifier = (field_expression "paVar10->vma" identifier -> field_identifier)) ;) (expression_statement "sVar11 = strlen((s->output_section_statement).name);" (assignment_expression "sVar11 = strlen((s->output_section_statement).name)" identifier = (call_expression "strlen((s->output_section_statement).name)" identifier (argument_list "((s->output_section_statement).name)" ( (field_expression "(s->output_section_statement).name" (parenthesized_expression "(s->output_section_statement)" ( (field_expression "s->output_section_statement" identifier -> field_identifier) )) . field_identifier) )))) ;) (expression_statement "uVar13 = sVar11 & 0xffffffff;" (assignment_expression "uVar13 = sVar11 & 0xffffffff" identifier = (binary_expression "sVar11 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (0xe < (int)sVar11) {\n          print_nl();\n          uVar13 = 0;\n        }" if (parenthesized_expression "(0xe < (int)sVar11)" ( (binary_expression "0xe < (int)sVar11" number_literal < (cast_expression "(int)sVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          print_nl();\n          uVar13 = 0;\n        }" { (expression_statement "print_nl();" (call_expression "print_nl()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) })) (do_statement "do {\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        } while (uVar9 != 0x10);" do (compound_statement "{\n          print_space();\n          uVar9 = (int)uVar13 + 1;\n          uVar13 = (ulong)uVar9;\n        }" { (expression_statement "print_space();" (call_expression "print_space()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar9 = (int)uVar13 + 1;" (assignment_expression "uVar9 = (int)uVar13 + 1" identifier = (binary_expression "(int)uVar13 + 1" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar13 = (ulong)uVar9;" (assignment_expression "uVar13 = (ulong)uVar9" identifier = (cast_expression "(ulong)uVar9" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(uVar9 != 0x10)" ( (binary_expression "uVar9 != 0x10" identifier != number_literal) )) ;) (expression_statement "minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f));" (call_expression "minfo("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f))" identifier (argument_list "("0x%V %W",paVar10->vma,paVar10->size >> ((byte)opb_shift & 0x3f))" ( (string_literal ""0x%V %W"" " string_content ") , (field_expression "paVar10->vma" identifier -> field_identifier) , (binary_expression "paVar10->size >> ((byte)opb_shift & 0x3f)" (field_expression "paVar10->size" identifier -> field_identifier) >> (parenthesized_expression "((byte)opb_shift & 0x3f)" ( (binary_expression "(byte)opb_shift & 0x3f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) ))) ;) (expression_statement "bVar21 = paVar10->lma;" (assignment_expression "bVar21 = paVar10->lma" identifier = (field_expression "paVar10->lma" identifier -> field_identifier)) ;) (if_statement "if (paVar10->vma != bVar21) {\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }" if (parenthesized_expression "(paVar10->vma != bVar21)" ( (binary_expression "paVar10->vma != bVar21" (field_expression "paVar10->vma" identifier -> field_identifier) != identifier) )) (compound_statement "{\n          pcVar12 = (char *)dcgettext(0," load address 0x%V",5);\n          minfo(pcVar12,bVar21);\n        }" { (expression_statement "pcVar12 = (char *)dcgettext(0," load address 0x%V",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0," load address 0x%V",5)" identifier = (cast_expression "(char *)dcgettext(0," load address 0x%V",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," load address 0x%V",5)" identifier (argument_list "(0," load address 0x%V",5)" ( number_literal , (string_literal "" load address 0x%V"" " string_content ") , number_literal ))))) ;) (expression_statement "minfo(pcVar12,bVar21);" (call_expression "minfo(pcVar12,bVar21)" identifier (argument_list "(pcVar12,bVar21)" ( identifier , identifier ))) ;) })) (if_statement "if ((s->output_section_statement).update_dot_tree != (etree_type *)0x0) {\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }" if (parenthesized_expression "((s->output_section_statement).update_dot_tree != (etree_type *)0x0)" ( (binary_expression "(s->output_section_statement).update_dot_tree != (etree_type *)0x0" (field_expression "(s->output_section_statement).update_dot_tree" (parenthesized_expression "(s->output_section_statement)" ( (field_expression "s->output_section_statement" identifier -> field_identifier) )) . field_identifier) != (cast_expression "(etree_type *)0x0" ( (type_descriptor "etree_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);\n        }" { (expression_statement "exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot);" (call_expression "exp_fold_tree((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot)" identifier (argument_list "((s->output_section_statement).update_dot_tree,\n                        (asection *)(_bfd_std_section + 0x230),&print_dot)" ( (field_expression "(s->output_section_statement).update_dot_tree" (parenthesized_expression "(s->output_section_statement)" ( (field_expression "s->output_section_statement" identifier -> field_identifier) )) . field_identifier) , (cast_expression "(asection *)(_bfd_std_section + 0x230)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_bfd_std_section + 0x230)" ( (binary_expression "_bfd_std_section + 0x230" identifier + number_literal) ))) , (pointer_expression "&print_dot" & identifier) ))) ;) })) })) (expression_statement "print_nl();" (call_expression "print_nl()" identifier (argument_list "()" ( ))) ;) })) (for_statement "for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,&s->output_section_statement);\n    }" for ( (assignment_expression "plVar4 = (s->output_section_statement).children.head" identifier = (field_expression "(s->output_section_statement).children.head" (field_expression "(s->output_section_statement).children" (parenthesized_expression "(s->output_section_statement)" ( (field_expression "s->output_section_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ; (binary_expression "plVar4 != (lang_statement_union_type *)0x0" identifier != (cast_expression "(lang_statement_union_type *)0x0" ( (type_descriptor "lang_statement_union_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar4 = (plVar4->header).next" identifier = (field_expression "(plVar4->header).next" (parenthesized_expression "(plVar4->header)" ( (field_expression "plVar4->header" identifier -> field_identifier) )) . field_identifier)) ) (compound_statement "{\n      print_statement(plVar4,&s->output_section_statement);\n    }" { (expression_statement "print_statement(plVar4,&s->output_section_statement);" (call_expression "print_statement(plVar4,&s->output_section_statement)" identifier (argument_list "(plVar4,&s->output_section_statement)" ( identifier , (pointer_expression "&s->output_section_statement" & (field_expression "s->output_section_statement" identifier -> field_identifier)) ))) ;) })) (break_statement "break;" break ;)) (case_statement "case lang_assignment_statement_enum:\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    paVar10 = (s->input_section).section;\n    current_section = os->bfd_section;\n    tree = (etree_type *)paVar10->prev;\n    if (*(int *)&paVar10->next == 8) {\n      bVar8 = false;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\nLAB_001141b0:\n      exp_fold_tree(tree,current_section,&print_dot);\n      bVar21 = expld.result.value;\n      paVar10 = (s->input_section).section;\n      if (expld.result.valid_p == 0) goto LAB_00113952;\n      if (*(int *)&paVar10->next == 8) {\n        if (expld.result.section != (asection *)0x0) {\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }\n        minfo("0x%V",bVar21);\n        if (bVar8) {\nLAB_00114222:\n          print_dot = bVar21;\n        }\n      }\n      else {\n        if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }\n        if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }\n      }\n    }\n    else {\n      if ((*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {\n        bVar8 = false;\n        expld.assign_name = (char *)tree;\n      }\n      tree = *(etree_type **)&paVar10->flags;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\n      if (*(int *)&paVar10->next != 5) goto LAB_001141b0;\n      expld.result.valid_p = 0;\nLAB_00113952:\n      if (*(int *)&paVar10->next == 5) {\n        minfo("[!provide]");\n      }\n      else {\n        minfo("*undef*   ");\n      }\n      minfo("        ");\n    }\n    expld.assign_name = (char *)0x0;\n    minfo("                ");\n    plVar19 = (s->output_section_statement).children.head;\nLAB_001139f8:\n    exp_print_tree((etree_type *)plVar19);\n    print_nl();\n    return;" case identifier : (expression_statement "iVar15 = 0x10;" (assignment_expression "iVar15 = 0x10" identifier = number_literal) ;) (do_statement "do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);" do (compound_statement "{\n      print_space();\n      iVar15 = iVar15 + -1;\n    }" { (expression_statement "print_space();" (call_expression "print_space()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) ;) (expression_statement "paVar10 = (s->input_section).section;" (assignment_expression "paVar10 = (s->input_section).section" identifier = (field_expression "(s->input_section).section" (parenthesized_expression "(s->input_section)" ( (field_expression "s->input_section" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "current_section = os->bfd_section;" (assignment_expression "current_section = os->bfd_section" identifier = (field_expression "os->bfd_section" identifier -> field_identifier)) ;) (expression_statement "tree = (etree_type *)paVar10->prev;" (assignment_expression "tree = (etree_type *)paVar10->prev" identifier = (cast_expression "(etree_type *)paVar10->prev" ( (type_descriptor "etree_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "paVar10->prev" identifier -> field_identifier))) ;) (if_statement "if (*(int *)&paVar10->next == 8) {\n      bVar8 = false;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\nLAB_001141b0:\n      exp_fold_tree(tree,current_section,&print_dot);\n      bVar21 = expld.result.value;\n      paVar10 = (s->input_section).section;\n      if (expld.result.valid_p == 0) goto LAB_00113952;\n      if (*(int *)&paVar10->next == 8) {\n        if (expld.result.section != (asection *)0x0) {\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }\n        minfo("0x%V",bVar21);\n        if (bVar8) {\nLAB_00114222:\n          print_dot = bVar21;\n        }\n      }\n      else {\n        if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }\n        if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }\n      }\n    }\n    else {\n      if ((*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {\n        bVar8 = false;\n        expld.assign_name = (char *)tree;\n      }\n      tree = *(etree_type **)&paVar10->flags;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\n      if (*(int *)&paVar10->next != 5) goto LAB_001141b0;\n      expld.result.valid_p = 0;\nLAB_00113952:\n      if (*(int *)&paVar10->next == 5) {\n        minfo("[!provide]");\n      }\n      else {\n        minfo("*undef*   ");\n      }\n      minfo("        ");\n    }" if (parenthesized_expression "(*(int *)&paVar10->next == 8)" ( (binary_expression "*(int *)&paVar10->next == 8" (pointer_expression "*(int *)&paVar10->next" * (cast_expression "(int *)&paVar10->next" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar10->next" & (field_expression "paVar10->next" identifier -> field_identifier)))) == number_literal) )) (compound_statement "{\n      bVar8 = false;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\nLAB_001141b0:\n      exp_fold_tree(tree,current_section,&print_dot);\n      bVar21 = expld.result.value;\n      paVar10 = (s->input_section).section;\n      if (expld.result.valid_p == 0) goto LAB_00113952;\n      if (*(int *)&paVar10->next == 8) {\n        if (expld.result.section != (asection *)0x0) {\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }\n        minfo("0x%V",bVar21);\n        if (bVar8) {\nLAB_00114222:\n          print_dot = bVar21;\n        }\n      }\n      else {\n        if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }\n        if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }\n      }\n    }" { (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (if_statement "if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }" if (parenthesized_expression "(current_section == (asection *)0x0)" ( (binary_expression "current_section == (asection *)0x0" identifier == (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }" { (expression_statement "current_section = (asection *)(_bfd_std_section + 0x230);" (assignment_expression "current_section = (asection *)(_bfd_std_section + 0x230)" identifier = (cast_expression "(asection *)(_bfd_std_section + 0x230)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_bfd_std_section + 0x230)" ( (binary_expression "_bfd_std_section + 0x230" identifier + number_literal) )))) ;) })) (labeled_statement "LAB_001141b0:\n      exp_fold_tree(tree,current_section,&print_dot);" statement_identifier : (expression_statement "exp_fold_tree(tree,current_section,&print_dot);" (call_expression "exp_fold_tree(tree,current_section,&print_dot)" identifier (argument_list "(tree,current_section,&print_dot)" ( identifier , identifier , (pointer_expression "&print_dot" & identifier) ))) ;)) (expression_statement "bVar21 = expld.result.value;" (assignment_expression "bVar21 = expld.result.value" identifier = (field_expression "expld.result.value" (field_expression "expld.result" identifier . field_identifier) . field_identifier)) ;) (expression_statement "paVar10 = (s->input_section).section;" (assignment_expression "paVar10 = (s->input_section).section" identifier = (field_expression "(s->input_section).section" (parenthesized_expression "(s->input_section)" ( (field_expression "s->input_section" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (expld.result.valid_p == 0) goto LAB_00113952;" if (parenthesized_expression "(expld.result.valid_p == 0)" ( (binary_expression "expld.result.valid_p == 0" (field_expression "expld.result.valid_p" (field_expression "expld.result" identifier . field_identifier) . field_identifier) == number_literal) )) (goto_statement "goto LAB_00113952;" goto statement_identifier ;)) (if_statement "if (*(int *)&paVar10->next == 8) {\n        if (expld.result.section != (asection *)0x0) {\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }\n        minfo("0x%V",bVar21);\n        if (bVar8) {\nLAB_00114222:\n          print_dot = bVar21;\n        }\n      }\n      else {\n        if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }\n        if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }\n      }" if (parenthesized_expression "(*(int *)&paVar10->next == 8)" ( (binary_expression "*(int *)&paVar10->next == 8" (pointer_expression "*(int *)&paVar10->next" * (cast_expression "(int *)&paVar10->next" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar10->next" & (field_expression "paVar10->next" identifier -> field_identifier)))) == number_literal) )) (compound_statement "{\n        if (expld.result.section != (asection *)0x0) {\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }\n        minfo("0x%V",bVar21);\n        if (bVar8) {\nLAB_00114222:\n          print_dot = bVar21;\n        }\n      }" { (if_statement "if (expld.result.section != (asection *)0x0) {\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }" if (parenthesized_expression "(expld.result.section != (asection *)0x0)" ( (binary_expression "expld.result.section != (asection *)0x0" (field_expression "expld.result.section" (field_expression "expld.result" identifier . field_identifier) . field_identifier) != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;\n        }" { (labeled_statement "LAB_00114205:\n          bVar21 = expld.result.value + (expld.result.section)->vma;" statement_identifier : (expression_statement "bVar21 = expld.result.value + (expld.result.section)->vma;" (assignment_expression "bVar21 = expld.result.value + (expld.result.section)->vma" identifier = (binary_expression "expld.result.value + (expld.result.section)->vma" (field_expression "expld.result.value" (field_expression "expld.result" identifier . field_identifier) . field_identifier) + (field_expression "(expld.result.section)->vma" (parenthesized_expression "(expld.result.section)" ( (field_expression "expld.result.section" (field_expression "expld.result" identifier . field_identifier) . field_identifier) )) -> field_identifier))) ;)) })) (expression_statement "minfo("0x%V",bVar21);" (call_expression "minfo("0x%V",bVar21)" identifier (argument_list "("0x%V",bVar21)" ( (string_literal ""0x%V"" " string_content ") , identifier ))) ;) (if_statement "if (bVar8) {\nLAB_00114222:\n          print_dot = bVar21;\n        }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\nLAB_00114222:\n          print_dot = bVar21;\n        }" { (labeled_statement "LAB_00114222:\n          print_dot = bVar21;" statement_identifier : (expression_statement "print_dot = bVar21;" (assignment_expression "print_dot = bVar21" identifier = identifier) ;)) })) }) (else_clause "else {\n        if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }\n        if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }\n      }" else (compound_statement "{\n        if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }\n        if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }\n      }" { (if_statement "if (bVar8) {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n          goto LAB_00114222;\n        }" { (if_statement "if (expld.result.section != (asection *)0x0) goto LAB_00114205;" if (parenthesized_expression "(expld.result.section != (asection *)0x0)" ( (binary_expression "expld.result.section != (asection *)0x0" (field_expression "expld.result.section" (field_expression "expld.result" identifier . field_identifier) . field_identifier) != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00114205;" goto statement_identifier ;)) (expression_statement "minfo("0x%V",expld.result.value);" (call_expression "minfo("0x%V",expld.result.value)" identifier (argument_list "("0x%V",expld.result.value)" ( (string_literal ""0x%V"" " string_content ") , (field_expression "expld.result.value" (field_expression "expld.result" identifier . field_identifier) . field_identifier) ))) ;) (goto_statement "goto LAB_00114222;" goto statement_identifier ;) })) (if_statement "if (expld.assign_name == (char *)0x0) {\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }" if (parenthesized_expression "(expld.assign_name == (char *)0x0)" ( (binary_expression "expld.assign_name == (char *)0x0" (field_expression "expld.assign_name" identifier . field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);\n          if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }\n        }" { (expression_statement "lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1);" (assignment_expression "lVar14 = bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1)" identifier = (call_expression "bfd_link_hash_lookup(link_info.hash,paVar10->prev,0,0,1)" identifier (argument_list "(link_info.hash,paVar10->prev,0,0,1)" ( (field_expression "link_info.hash" identifier . field_identifier) , (field_expression "paVar10->prev" identifier -> field_identifier) , number_literal , number_literal , number_literal )))) ;) (if_statement "if (lVar14 == 0) {\n            minfo("[unresolved]");\n          }\n          else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }" if (parenthesized_expression "(lVar14 == 0)" ( (binary_expression "lVar14 == 0" identifier == number_literal) )) (compound_statement "{\n            minfo("[unresolved]");\n          }" { (expression_statement "minfo("[unresolved]");" (call_expression "minfo("[unresolved]")" identifier (argument_list "("[unresolved]")" ( (string_literal ""[unresolved]"" " string_content ") ))) ;) }) (else_clause "else {\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }" else (compound_statement "{\n            minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));\n          }" { (expression_statement "minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28));" (call_expression "minfo("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28))" identifier (argument_list "("[0x%V]",*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28))" ( (string_literal ""[0x%V]"" " string_content ") , (binary_expression "*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30) +\n                           *(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28)" (binary_expression "*(long *)(*(long *)(lVar14 + 0x28) + 0x60) + *(long *)(lVar14 + 0x30)" (pointer_expression "*(long *)(*(long *)(lVar14 + 0x28) + 0x60)" * (cast_expression "(long *)(*(long *)(lVar14 + 0x28) + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar14 + 0x28) + 0x60)" ( (binary_expression "*(long *)(lVar14 + 0x28) + 0x60" (pointer_expression "*(long *)(lVar14 + 0x28)" * (cast_expression "(long *)(lVar14 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar14 + 0x28)" ( (binary_expression "lVar14 + 0x28" identifier + number_literal) )))) + number_literal) )))) + (pointer_expression "*(long *)(lVar14 + 0x30)" * (cast_expression "(long *)(lVar14 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar14 + 0x30)" ( (binary_expression "lVar14 + 0x30" identifier + number_literal) ))))) + (pointer_expression "*(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28)" * (cast_expression "(long *)(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28)" ( (binary_expression "*(long *)(*(long *)(lVar14 + 0x28) + 0x68) + 0x28" (pointer_expression "*(long *)(*(long *)(lVar14 + 0x28) + 0x68)" * (cast_expression "(long *)(*(long *)(lVar14 + 0x28) + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar14 + 0x28) + 0x68)" ( (binary_expression "*(long *)(lVar14 + 0x28) + 0x68" (pointer_expression "*(long *)(lVar14 + 0x28)" * (cast_expression "(long *)(lVar14 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar14 + 0x28)" ( (binary_expression "lVar14 + 0x28" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ))) ;) }))) }) (else_clause "else {\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }" else (compound_statement "{\n          if (expld.result.section != (asection *)0x0) goto LAB_00114205;\n          minfo("0x%V",expld.result.value);\n        }" { (if_statement "if (expld.result.section != (asection *)0x0) goto LAB_00114205;" if (parenthesized_expression "(expld.result.section != (asection *)0x0)" ( (binary_expression "expld.result.section != (asection *)0x0" (field_expression "expld.result.section" (field_expression "expld.result" identifier . field_identifier) . field_identifier) != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00114205;" goto statement_identifier ;)) (expression_statement "minfo("0x%V",expld.result.value);" (call_expression "minfo("0x%V",expld.result.value)" identifier (argument_list "("0x%V",expld.result.value)" ( (string_literal ""0x%V"" " string_content ") , (field_expression "expld.result.value" (field_expression "expld.result" identifier . field_identifier) . field_identifier) ))) ;) }))) }))) }) (else_clause "else {\n      if ((*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {\n        bVar8 = false;\n        expld.assign_name = (char *)tree;\n      }\n      tree = *(etree_type **)&paVar10->flags;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\n      if (*(int *)&paVar10->next != 5) goto LAB_001141b0;\n      expld.result.valid_p = 0;\nLAB_00113952:\n      if (*(int *)&paVar10->next == 5) {\n        minfo("[!provide]");\n      }\n      else {\n        minfo("*undef*   ");\n      }\n      minfo("        ");\n    }" else (compound_statement "{\n      if ((*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {\n        bVar8 = false;\n        expld.assign_name = (char *)tree;\n      }\n      tree = *(etree_type **)&paVar10->flags;\n      if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }\n      if (*(int *)&paVar10->next != 5) goto LAB_001141b0;\n      expld.result.valid_p = 0;\nLAB_00113952:\n      if (*(int *)&paVar10->next == 5) {\n        minfo("[!provide]");\n      }\n      else {\n        minfo("*undef*   ");\n      }\n      minfo("        ");\n    }" { (if_statement "if ((*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {\n        bVar8 = false;\n        expld.assign_name = (char *)tree;\n      }" if (parenthesized_expression "((*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0'))" ( (binary_expression "(*(char *)tree != '.') ||\n         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')" (parenthesized_expression "(*(char *)tree != '.')" ( (binary_expression "*(char *)tree != '.'" (pointer_expression "*(char *)tree" * (cast_expression "(char *)tree" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != (char_literal "'.'" ' character ')) )) || (parenthesized_expression "(bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')" ( (comma_expression "bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0'" (assignment_expression "bVar8 = true" identifier = true) , (binary_expression "*(char *)((long)&(tree->type).node_code + 1) != '\0'" (pointer_expression "*(char *)((long)&(tree->type).node_code + 1)" * (cast_expression "(char *)((long)&(tree->type).node_code + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(tree->type).node_code + 1)" ( (binary_expression "(long)&(tree->type).node_code + 1" (cast_expression "(long)&(tree->type).node_code" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(tree->type).node_code" & (field_expression "(tree->type).node_code" (parenthesized_expression "(tree->type)" ( (field_expression "tree->type" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n        bVar8 = false;\n        expld.assign_name = (char *)tree;\n      }" { (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "expld.assign_name = (char *)tree;" (assignment_expression "expld.assign_name = (char *)tree" (field_expression "expld.assign_name" identifier . field_identifier) = (cast_expression "(char *)tree" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "tree = *(etree_type **)&paVar10->flags;" (assignment_expression "tree = *(etree_type **)&paVar10->flags" identifier = (pointer_expression "*(etree_type **)&paVar10->flags" * (cast_expression "(etree_type **)&paVar10->flags" ( (type_descriptor "etree_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&paVar10->flags" & (field_expression "paVar10->flags" identifier -> field_identifier))))) ;) (if_statement "if (current_section == (asection *)0x0) {\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }" if (parenthesized_expression "(current_section == (asection *)0x0)" ( (binary_expression "current_section == (asection *)0x0" identifier == (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        current_section = (asection *)(_bfd_std_section + 0x230);\n      }" { (expression_statement "current_section = (asection *)(_bfd_std_section + 0x230);" (assignment_expression "current_section = (asection *)(_bfd_std_section + 0x230)" identifier = (cast_expression "(asection *)(_bfd_std_section + 0x230)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_bfd_std_section + 0x230)" ( (binary_expression "_bfd_std_section + 0x230" identifier + number_literal) )))) ;) })) (if_statement "if (*(int *)&paVar10->next != 5) goto LAB_001141b0;" if (parenthesized_expression "(*(int *)&paVar10->next != 5)" ( (binary_expression "*(int *)&paVar10->next != 5" (pointer_expression "*(int *)&paVar10->next" * (cast_expression "(int *)&paVar10->next" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar10->next" & (field_expression "paVar10->next" identifier -> field_identifier)))) != number_literal) )) (goto_statement "goto LAB_001141b0;" goto statement_identifier ;)) (expression_statement "expld.result.valid_p = 0;" (assignment_expression "expld.result.valid_p = 0" (field_expression "expld.result.valid_p" (field_expression "expld.result" identifier . field_identifier) . field_identifier) = number_literal) ;) (labeled_statement "LAB_00113952:\n      if (*(int *)&paVar10->next == 5) {\n        minfo("[!provide]");\n      }\n      else {\n        minfo("*undef*   ");\n      }" statement_identifier : (if_statement "if (*(int *)&paVar10->next == 5) {\n        minfo("[!provide]");\n      }\n      else {\n        minfo("*undef*   ");\n      }" if (parenthesized_expression "(*(int *)&paVar10->next == 5)" ( (binary_expression "*(int *)&paVar10->next == 5" (pointer_expression "*(int *)&paVar10->next" * (cast_expression "(int *)&paVar10->next" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar10->next" & (field_expression "paVar10->next" identifier -> field_identifier)))) == number_literal) )) (compound_statement "{\n        minfo("[!provide]");\n      }" { (expression_statement "minfo("[!provide]");" (call_expression "minfo("[!provide]")" identifier (argument_list "("[!provide]")" ( (string_literal ""[!provide]"" " string_content ") ))) ;) }) (else_clause "else {\n        minfo("*undef*   ");\n      }" else (compound_statement "{\n        minfo("*undef*   ");\n      }" { (expression_statement "minfo("*undef*   ");" (call_expression "minfo("*undef*   ")" identifier (argument_list "("*undef*   ")" ( (string_literal ""*undef*   "" " string_content ") ))) ;) })))) (expression_statement "minfo("        ");" (call_expression "minfo("        ")" identifier (argument_list "("        ")" ( (string_literal ""        "" " string_content ") ))) ;) }))) (expression_statement "expld.assign_name = (char *)0x0;" (assignment_expression "expld.assign_name = (char *)0x0" (field_expression "expld.assign_name" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "minfo("                ");" (call_expression "minfo("                ")" identifier (argument_list "("                ")" ( (string_literal ""                "" " string_content ") ))) ;) (expression_statement "plVar19 = (s->output_section_statement).children.head;" (assignment_expression "plVar19 = (s->output_section_statement).children.head" identifier = (field_expression "(s->output_section_statement).children.head" (field_expression "(s->output_section_statement).children" (parenthesized_expression "(s->output_section_statement)" ( (field_expression "s->output_section_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (labeled_statement "LAB_001139f8:\n    exp_print_tree((etree_type *)plVar19);" statement_identifier : (expression_statement "exp_print_tree((etree_type *)plVar19);" (call_expression "exp_print_tree((etree_type *)plVar19)" identifier (argument_list "((etree_type *)plVar19)" ( (cast_expression "(etree_type *)plVar19" ( (type_descriptor "etree_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "print_nl();" (call_expression "print_nl()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case lang_input_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    if ((pcVar12 != (char *)0x0) &&\n       (((s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)))) {\n      pcVar18 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;" case identifier : (expression_statement "pcVar12 = (s->wild_statement).filename;" (assignment_expression "pcVar12 = (s->wild_statement).filename" identifier = (field_expression "(s->wild_statement).filename" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((pcVar12 != (char *)0x0) &&\n       (((s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)))) {\n      pcVar18 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }" if (parenthesized_expression "((pcVar12 != (char *)0x0) &&\n       (((s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0))))" ( (binary_expression "(pcVar12 != (char *)0x0) &&\n       (((s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)))" (parenthesized_expression "(pcVar12 != (char *)0x0)" ( (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(((s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)))" ( (parenthesized_expression "((s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0))" ( (binary_expression "(s->reloc_statement).section == (asection *)0x0 ||\n        ((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)" (binary_expression "(s->reloc_statement).section == (asection *)0x0" (field_expression "(s->reloc_statement).section" (parenthesized_expression "(s->reloc_statement)" ( (field_expression "s->reloc_statement" identifier -> field_identifier) )) . field_identifier) == (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "((((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0)" ( (binary_expression "(((s->reloc_statement).section)->rawsize & 0x2000000000000) == 0" (parenthesized_expression "(((s->reloc_statement).section)->rawsize & 0x2000000000000)" ( (binary_expression "((s->reloc_statement).section)->rawsize & 0x2000000000000" (field_expression "((s->reloc_statement).section)->rawsize" (parenthesized_expression "((s->reloc_statement).section)" ( (field_expression "(s->reloc_statement).section" (parenthesized_expression "(s->reloc_statement)" ( (field_expression "s->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n      pcVar18 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }" { (expression_statement "pcVar18 = "LOAD %s\n";" (assignment_expression "pcVar18 = "LOAD %s\n"" identifier = (string_literal ""LOAD %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00113cab;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case lang_address_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = (char *)dcgettext(0,"Address of section %s set to ",5);\n    minfo(pcVar18,pcVar12);\n    plVar19 = (lang_statement_union *)(s->data_statement).exp;\n    goto LAB_001139f8;" case identifier : (expression_statement "pcVar12 = (s->wild_statement).filename;" (assignment_expression "pcVar12 = (s->wild_statement).filename" identifier = (field_expression "(s->wild_statement).filename" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"Address of section %s set to ",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"Address of section %s set to ",5)" identifier = (cast_expression "(char *)dcgettext(0,"Address of section %s set to ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Address of section %s set to ",5)" identifier (argument_list "(0,"Address of section %s set to ",5)" ( number_literal , (string_literal ""Address of section %s set to "" " string_content ") , number_literal ))))) ;) (expression_statement "minfo(pcVar18,pcVar12);" (call_expression "minfo(pcVar18,pcVar12)" identifier (argument_list "(pcVar18,pcVar12)" ( identifier , identifier ))) ;) (expression_statement "plVar19 = (lang_statement_union *)(s->data_statement).exp;" (assignment_expression "plVar19 = (lang_statement_union *)(s->data_statement).exp" identifier = (cast_expression "(lang_statement_union *)(s->data_statement).exp" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(s->data_statement).exp" (parenthesized_expression "(s->data_statement)" ( (field_expression "s->data_statement" identifier -> field_identifier) )) . field_identifier))) ;) (goto_statement "goto LAB_001139f8;" goto statement_identifier ;)) (case_statement "case lang_wild_statement_enum:\n    print_space();\n    if ((s->wild_statement).exclude_name_list != (name_list *)0x0) {\n      minfo("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name);\n      for (pnVar3 = ((s->wild_statement).exclude_name_list)->next; pnVar3 != (name_list *)0x0;\n          pnVar3 = pnVar3->next) {\n        minfo(" %s",pnVar3->name);\n      }\n      minfo(") ");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo("SORT_BY_NAME(");\n    }\n    if ((s->wild_statement).filename == (char *)0x0) {\n      minfo("*");\n    }\n    else {\n      minfo("%s");\n    }\n    if ((s->wild_statement).filenames_sorted != 0) {\n      minfo(")");\n    }\n    minfo("(");\n    for (paVar10 = (s->reloc_statement).section; paVar10 != (asection *)0x0;\n        paVar10 = (asection *)paVar10->name) {\n      switch(*(undefined4 *)&paVar10->prev) {\n      default:\n        iVar15 = 0;\n        break;\n      case 1:\n        iVar15 = 1;\n        minfo("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar15 = 1;\n        minfo("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar15 = 2;\n        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar15 = 2;\n        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar15 = 1;\n        minfo("SORT_NONE(");\n        break;\n      case 6:\n        iVar15 = 1;\n        minfo("SORT_BY_INIT_PRIORITY(");\n      }\n      if (paVar10->next != (bfd_section *)0x0) {\n        minfo("EXCLUDE_FILE(%s",paVar10->next->name);\n        for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;\n            puVar7 = (undefined8 *)puVar7[1]) {\n          minfo(" %s",*puVar7);\n        }\n        minfo(") ");\n      }\n      lVar14._0_4_ = paVar10->id;\n      lVar14._4_4_ = paVar10->index;\n      if (lVar14 == 0) {\n        minfo("*");\n      }\n      else {\n        minfo("%s");\n      }\n      if ((iVar15 != 0) && (minfo(")"), iVar15 != 1)) {\n        minfo(")");\n      }\n      if (paVar10->name == (char *)0x0) break;\n      minfo(" ");\n    }\n    minfo(")");\n    print_nl();\n    for (plVar4 = (s->wild_statement).children.head; plVar4 != (lang_statement_union_type *)0x0;\n        plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    break;" case identifier : (expression_statement "print_space();" (call_expression "print_space()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((s->wild_statement).exclude_name_list != (name_list *)0x0) {\n      minfo("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name);\n      for (pnVar3 = ((s->wild_statement).exclude_name_list)->next; pnVar3 != (name_list *)0x0;\n          pnVar3 = pnVar3->next) {\n        minfo(" %s",pnVar3->name);\n      }\n      minfo(") ");\n    }" if (parenthesized_expression "((s->wild_statement).exclude_name_list != (name_list *)0x0)" ( (binary_expression "(s->wild_statement).exclude_name_list != (name_list *)0x0" (field_expression "(s->wild_statement).exclude_name_list" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) != (cast_expression "(name_list *)0x0" ( (type_descriptor "name_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      minfo("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name);\n      for (pnVar3 = ((s->wild_statement).exclude_name_list)->next; pnVar3 != (name_list *)0x0;\n          pnVar3 = pnVar3->next) {\n        minfo(" %s",pnVar3->name);\n      }\n      minfo(") ");\n    }" { (expression_statement "minfo("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name);" (call_expression "minfo("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name)" identifier (argument_list "("EXCLUDE_FILE(%s",((s->wild_statement).exclude_name_list)->name)" ( (string_literal ""EXCLUDE_FILE(%s"" " string_content ") , (field_expression "((s->wild_statement).exclude_name_list)->name" (parenthesized_expression "((s->wild_statement).exclude_name_list)" ( (field_expression "(s->wild_statement).exclude_name_list" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) ))) ;) (for_statement "for (pnVar3 = ((s->wild_statement).exclude_name_list)->next; pnVar3 != (name_list *)0x0;\n          pnVar3 = pnVar3->next) {\n        minfo(" %s",pnVar3->name);\n      }" for ( (assignment_expression "pnVar3 = ((s->wild_statement).exclude_name_list)->next" identifier = (field_expression "((s->wild_statement).exclude_name_list)->next" (parenthesized_expression "((s->wild_statement).exclude_name_list)" ( (field_expression "(s->wild_statement).exclude_name_list" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) ; (binary_expression "pnVar3 != (name_list *)0x0" identifier != (cast_expression "(name_list *)0x0" ( (type_descriptor "name_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pnVar3 = pnVar3->next" identifier = (field_expression "pnVar3->next" identifier -> field_identifier)) ) (compound_statement "{\n        minfo(" %s",pnVar3->name);\n      }" { (expression_statement "minfo(" %s",pnVar3->name);" (call_expression "minfo(" %s",pnVar3->name)" identifier (argument_list "(" %s",pnVar3->name)" ( (string_literal "" %s"" " string_content ") , (field_expression "pnVar3->name" identifier -> field_identifier) ))) ;) })) (expression_statement "minfo(") ");" (call_expression "minfo(") ")" identifier (argument_list "(") ")" ( (string_literal "") "" " string_content ") ))) ;) })) (if_statement "if ((s->wild_statement).filenames_sorted != 0) {\n      minfo("SORT_BY_NAME(");\n    }" if (parenthesized_expression "((s->wild_statement).filenames_sorted != 0)" ( (binary_expression "(s->wild_statement).filenames_sorted != 0" (field_expression "(s->wild_statement).filenames_sorted" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n      minfo("SORT_BY_NAME(");\n    }" { (expression_statement "minfo("SORT_BY_NAME(");" (call_expression "minfo("SORT_BY_NAME(")" identifier (argument_list "("SORT_BY_NAME(")" ( (string_literal ""SORT_BY_NAME("" " string_content ") ))) ;) })) (if_statement "if ((s->wild_statement).filename == (char *)0x0) {\n      minfo("*");\n    }\n    else {\n      minfo("%s");\n    }" if (parenthesized_expression "((s->wild_statement).filename == (char *)0x0)" ( (binary_expression "(s->wild_statement).filename == (char *)0x0" (field_expression "(s->wild_statement).filename" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      minfo("*");\n    }" { (expression_statement "minfo("*");" (call_expression "minfo("*")" identifier (argument_list "("*")" ( (string_literal ""*"" " string_content ") ))) ;) }) (else_clause "else {\n      minfo("%s");\n    }" else (compound_statement "{\n      minfo("%s");\n    }" { (expression_statement "minfo("%s");" (call_expression "minfo("%s")" identifier (argument_list "("%s")" ( (string_literal ""%s"" " string_content ") ))) ;) }))) (if_statement "if ((s->wild_statement).filenames_sorted != 0) {\n      minfo(")");\n    }" if (parenthesized_expression "((s->wild_statement).filenames_sorted != 0)" ( (binary_expression "(s->wild_statement).filenames_sorted != 0" (field_expression "(s->wild_statement).filenames_sorted" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n      minfo(")");\n    }" { (expression_statement "minfo(")");" (call_expression "minfo(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) ;) })) (expression_statement "minfo("(");" (call_expression "minfo("(")" identifier (argument_list "("(")" ( (string_literal ""("" " string_content ") ))) ;) (for_statement "for (paVar10 = (s->reloc_statement).section; paVar10 != (asection *)0x0;\n        paVar10 = (asection *)paVar10->name) {\n      switch(*(undefined4 *)&paVar10->prev) {\n      default:\n        iVar15 = 0;\n        break;\n      case 1:\n        iVar15 = 1;\n        minfo("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar15 = 1;\n        minfo("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar15 = 2;\n        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar15 = 2;\n        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar15 = 1;\n        minfo("SORT_NONE(");\n        break;\n      case 6:\n        iVar15 = 1;\n        minfo("SORT_BY_INIT_PRIORITY(");\n      }\n      if (paVar10->next != (bfd_section *)0x0) {\n        minfo("EXCLUDE_FILE(%s",paVar10->next->name);\n        for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;\n            puVar7 = (undefined8 *)puVar7[1]) {\n          minfo(" %s",*puVar7);\n        }\n        minfo(") ");\n      }\n      lVar14._0_4_ = paVar10->id;\n      lVar14._4_4_ = paVar10->index;\n      if (lVar14 == 0) {\n        minfo("*");\n      }\n      else {\n        minfo("%s");\n      }\n      if ((iVar15 != 0) && (minfo(")"), iVar15 != 1)) {\n        minfo(")");\n      }\n      if (paVar10->name == (char *)0x0) break;\n      minfo(" ");\n    }" for ( (assignment_expression "paVar10 = (s->reloc_statement).section" identifier = (field_expression "(s->reloc_statement).section" (parenthesized_expression "(s->reloc_statement)" ( (field_expression "s->reloc_statement" identifier -> field_identifier) )) . field_identifier)) ; (binary_expression "paVar10 != (asection *)0x0" identifier != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "paVar10 = (asection *)paVar10->name" identifier = (cast_expression "(asection *)paVar10->name" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "paVar10->name" identifier -> field_identifier))) ) (compound_statement "{\n      switch(*(undefined4 *)&paVar10->prev) {\n      default:\n        iVar15 = 0;\n        break;\n      case 1:\n        iVar15 = 1;\n        minfo("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar15 = 1;\n        minfo("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar15 = 2;\n        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar15 = 2;\n        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar15 = 1;\n        minfo("SORT_NONE(");\n        break;\n      case 6:\n        iVar15 = 1;\n        minfo("SORT_BY_INIT_PRIORITY(");\n      }\n      if (paVar10->next != (bfd_section *)0x0) {\n        minfo("EXCLUDE_FILE(%s",paVar10->next->name);\n        for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;\n            puVar7 = (undefined8 *)puVar7[1]) {\n          minfo(" %s",*puVar7);\n        }\n        minfo(") ");\n      }\n      lVar14._0_4_ = paVar10->id;\n      lVar14._4_4_ = paVar10->index;\n      if (lVar14 == 0) {\n        minfo("*");\n      }\n      else {\n        minfo("%s");\n      }\n      if ((iVar15 != 0) && (minfo(")"), iVar15 != 1)) {\n        minfo(")");\n      }\n      if (paVar10->name == (char *)0x0) break;\n      minfo(" ");\n    }" { (switch_statement "switch(*(undefined4 *)&paVar10->prev) {\n      default:\n        iVar15 = 0;\n        break;\n      case 1:\n        iVar15 = 1;\n        minfo("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar15 = 1;\n        minfo("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar15 = 2;\n        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar15 = 2;\n        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar15 = 1;\n        minfo("SORT_NONE(");\n        break;\n      case 6:\n        iVar15 = 1;\n        minfo("SORT_BY_INIT_PRIORITY(");\n      }" switch (parenthesized_expression "(*(undefined4 *)&paVar10->prev)" ( (pointer_expression "*(undefined4 *)&paVar10->prev" * (cast_expression "(undefined4 *)&paVar10->prev" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar10->prev" & (field_expression "paVar10->prev" identifier -> field_identifier)))) )) (compound_statement "{\n      default:\n        iVar15 = 0;\n        break;\n      case 1:\n        iVar15 = 1;\n        minfo("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar15 = 1;\n        minfo("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar15 = 2;\n        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar15 = 2;\n        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar15 = 1;\n        minfo("SORT_NONE(");\n        break;\n      case 6:\n        iVar15 = 1;\n        minfo("SORT_BY_INIT_PRIORITY(");\n      }" { (case_statement "default:\n        iVar15 = 0;\n        break;" default : (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n        iVar15 = 1;\n        minfo("SORT_BY_NAME(");\n        break;" case number_literal : (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (expression_statement "minfo("SORT_BY_NAME(");" (call_expression "minfo("SORT_BY_NAME(")" identifier (argument_list "("SORT_BY_NAME(")" ( (string_literal ""SORT_BY_NAME("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n        iVar15 = 1;\n        minfo("SORT_BY_ALIGNMENT(");\n        break;" case number_literal : (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (expression_statement "minfo("SORT_BY_ALIGNMENT(");" (call_expression "minfo("SORT_BY_ALIGNMENT(")" identifier (argument_list "("SORT_BY_ALIGNMENT(")" ( (string_literal ""SORT_BY_ALIGNMENT("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n        iVar15 = 2;\n        minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;" case number_literal : (expression_statement "iVar15 = 2;" (assignment_expression "iVar15 = 2" identifier = number_literal) ;) (expression_statement "minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(");" (call_expression "minfo("SORT_BY_NAME(SORT_BY_ALIGNMENT(")" identifier (argument_list "("SORT_BY_NAME(SORT_BY_ALIGNMENT(")" ( (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        iVar15 = 2;\n        minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;" case number_literal : (expression_statement "iVar15 = 2;" (assignment_expression "iVar15 = 2" identifier = number_literal) ;) (expression_statement "minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(");" (call_expression "minfo("SORT_BY_ALIGNMENT(SORT_BY_NAME(")" identifier (argument_list "("SORT_BY_ALIGNMENT(SORT_BY_NAME(")" ( (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n        iVar15 = 1;\n        minfo("SORT_NONE(");\n        break;" case number_literal : (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (expression_statement "minfo("SORT_NONE(");" (call_expression "minfo("SORT_NONE(")" identifier (argument_list "("SORT_NONE(")" ( (string_literal ""SORT_NONE("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n        iVar15 = 1;\n        minfo("SORT_BY_INIT_PRIORITY(");" case number_literal : (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (expression_statement "minfo("SORT_BY_INIT_PRIORITY(");" (call_expression "minfo("SORT_BY_INIT_PRIORITY(")" identifier (argument_list "("SORT_BY_INIT_PRIORITY(")" ( (string_literal ""SORT_BY_INIT_PRIORITY("" " string_content ") ))) ;)) })) (if_statement "if (paVar10->next != (bfd_section *)0x0) {\n        minfo("EXCLUDE_FILE(%s",paVar10->next->name);\n        for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;\n            puVar7 = (undefined8 *)puVar7[1]) {\n          minfo(" %s",*puVar7);\n        }\n        minfo(") ");\n      }" if (parenthesized_expression "(paVar10->next != (bfd_section *)0x0)" ( (binary_expression "paVar10->next != (bfd_section *)0x0" (field_expression "paVar10->next" identifier -> field_identifier) != (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        minfo("EXCLUDE_FILE(%s",paVar10->next->name);\n        for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;\n            puVar7 = (undefined8 *)puVar7[1]) {\n          minfo(" %s",*puVar7);\n        }\n        minfo(") ");\n      }" { (expression_statement "minfo("EXCLUDE_FILE(%s",paVar10->next->name);" (call_expression "minfo("EXCLUDE_FILE(%s",paVar10->next->name)" identifier (argument_list "("EXCLUDE_FILE(%s",paVar10->next->name)" ( (string_literal ""EXCLUDE_FILE(%s"" " string_content ") , (field_expression "paVar10->next->name" (field_expression "paVar10->next" identifier -> field_identifier) -> field_identifier) ))) ;) (for_statement "for (puVar7 = *(undefined8 **)&paVar10->next->id; puVar7 != (undefined8 *)0x0;\n            puVar7 = (undefined8 *)puVar7[1]) {\n          minfo(" %s",*puVar7);\n        }" for ( (assignment_expression "puVar7 = *(undefined8 **)&paVar10->next->id" identifier = (pointer_expression "*(undefined8 **)&paVar10->next->id" * (cast_expression "(undefined8 **)&paVar10->next->id" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&paVar10->next->id" & (field_expression "paVar10->next->id" (field_expression "paVar10->next" identifier -> field_identifier) -> field_identifier))))) ; (binary_expression "puVar7 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar7 = (undefined8 *)puVar7[1]" identifier = (cast_expression "(undefined8 *)puVar7[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar7[1]" identifier [ number_literal ]))) ) (compound_statement "{\n          minfo(" %s",*puVar7);\n        }" { (expression_statement "minfo(" %s",*puVar7);" (call_expression "minfo(" %s",*puVar7)" identifier (argument_list "(" %s",*puVar7)" ( (string_literal "" %s"" " string_content ") , (pointer_expression "*puVar7" * identifier) ))) ;) })) (expression_statement "minfo(") ");" (call_expression "minfo(") ")" identifier (argument_list "(") ")" ( (string_literal "") "" " string_content ") ))) ;) })) (expression_statement "lVar14._0_4_ = paVar10->id;" (assignment_expression "lVar14._0_4_ = paVar10->id" (field_expression "lVar14._0_4_" identifier . field_identifier) = (field_expression "paVar10->id" identifier -> field_identifier)) ;) (expression_statement "lVar14._4_4_ = paVar10->index;" (assignment_expression "lVar14._4_4_ = paVar10->index" (field_expression "lVar14._4_4_" identifier . field_identifier) = (field_expression "paVar10->index" identifier -> field_identifier)) ;) (if_statement "if (lVar14 == 0) {\n        minfo("*");\n      }\n      else {\n        minfo("%s");\n      }" if (parenthesized_expression "(lVar14 == 0)" ( (binary_expression "lVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        minfo("*");\n      }" { (expression_statement "minfo("*");" (call_expression "minfo("*")" identifier (argument_list "("*")" ( (string_literal ""*"" " string_content ") ))) ;) }) (else_clause "else {\n        minfo("%s");\n      }" else (compound_statement "{\n        minfo("%s");\n      }" { (expression_statement "minfo("%s");" (call_expression "minfo("%s")" identifier (argument_list "("%s")" ( (string_literal ""%s"" " string_content ") ))) ;) }))) (if_statement "if ((iVar15 != 0) && (minfo(")"), iVar15 != 1)) {\n        minfo(")");\n      }" if (parenthesized_expression "((iVar15 != 0) && (minfo(")"), iVar15 != 1))" ( (binary_expression "(iVar15 != 0) && (minfo(")"), iVar15 != 1)" (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) && (parenthesized_expression "(minfo(")"), iVar15 != 1)" ( (comma_expression "minfo(")"), iVar15 != 1" (call_expression "minfo(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) , (binary_expression "iVar15 != 1" identifier != number_literal)) ))) )) (compound_statement "{\n        minfo(")");\n      }" { (expression_statement "minfo(")");" (call_expression "minfo(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) ;) })) (if_statement "if (paVar10->name == (char *)0x0) break;" if (parenthesized_expression "(paVar10->name == (char *)0x0)" ( (binary_expression "paVar10->name == (char *)0x0" (field_expression "paVar10->name" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "minfo(" ");" (call_expression "minfo(" ")" identifier (argument_list "(" ")" ( (string_literal "" "" " string_content ") ))) ;) })) (expression_statement "minfo(")");" (call_expression "minfo(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) ;) (expression_statement "print_nl();" (call_expression "print_nl()" identifier (argument_list "()" ( ))) ;) (for_statement "for (plVar4 = (s->wild_statement).children.head; plVar4 != (lang_statement_union_type *)0x0;\n        plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }" for ( (assignment_expression "plVar4 = (s->wild_statement).children.head" identifier = (field_expression "(s->wild_statement).children.head" (field_expression "(s->wild_statement).children" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ; (binary_expression "plVar4 != (lang_statement_union_type *)0x0" identifier != (cast_expression "(lang_statement_union_type *)0x0" ( (type_descriptor "lang_statement_union_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar4 = (plVar4->header).next" identifier = (field_expression "(plVar4->header).next" (parenthesized_expression "(plVar4->header)" ( (field_expression "plVar4->header" identifier -> field_identifier) )) . field_identifier)) ) (compound_statement "{\n      print_statement(plVar4,os);\n    }" { (expression_statement "print_statement(plVar4,os);" (call_expression "print_statement(plVar4,os)" identifier (argument_list "(plVar4,os)" ( identifier , identifier ))) ;) })) (break_statement "break;" break ;)) (case_statement "case lang_input_section_enum:\n    print_input_section((s->input_section).section,0);\n    return;" case identifier : (expression_statement "print_input_section((s->input_section).section,0);" (call_expression "print_input_section((s->input_section).section,0)" identifier (argument_list "((s->input_section).section,0)" ( (field_expression "(s->input_section).section" (parenthesized_expression "(s->input_section)" ( (field_expression "s->input_section" identifier -> field_identifier) )) . field_identifier) , number_literal ))) ;) (return_statement "return;" return ;)) (case_statement "case lang_object_symbols_statement_enum:\n    pcVar12 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;" case identifier : (expression_statement "pcVar12 = " CREATE_OBJECT_SYMBOLS\n";" (assignment_expression "pcVar12 = " CREATE_OBJECT_SYMBOLS\n"" identifier = (string_literal "" CREATE_OBJECT_SYMBOLS\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00113bd7;" goto statement_identifier ;)) (case_statement "case lang_fill_statement_enum:\n    fwrite(" FILL mask 0x",1,0xd,(FILE *)config.map_file);\n    pfVar5 = (s->fill_statement).fill;\n    sVar6 = pfVar5->size;\n    puVar16 = pfVar5->data;\n    if (sVar6 != 0) {\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    fputc(10,(FILE *)config.map_file);\n    return;" case identifier : (expression_statement "fwrite(" FILL mask 0x",1,0xd,(FILE *)config.map_file);" (call_expression "fwrite(" FILL mask 0x",1,0xd,(FILE *)config.map_file)" identifier (argument_list "(" FILL mask 0x",1,0xd,(FILE *)config.map_file)" ( (string_literal "" FILL mask 0x"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) ))) ;) (expression_statement "pfVar5 = (s->fill_statement).fill;" (assignment_expression "pfVar5 = (s->fill_statement).fill" identifier = (field_expression "(s->fill_statement).fill" (parenthesized_expression "(s->fill_statement)" ( (field_expression "s->fill_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "sVar6 = pfVar5->size;" (assignment_expression "sVar6 = pfVar5->size" identifier = (field_expression "pfVar5->size" identifier -> field_identifier)) ;) (expression_statement "puVar16 = pfVar5->data;" (assignment_expression "puVar16 = pfVar5->data" identifier = (field_expression "pfVar5->data" identifier -> field_identifier)) ;) (if_statement "if (sVar6 != 0) {\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }" if (parenthesized_expression "(sVar6 != 0)" ( (binary_expression "sVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }" { (do_statement "do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);" do (compound_statement "{\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      }" { (expression_statement "bVar1 = *puVar16;" (assignment_expression "bVar1 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "puVar16 = puVar16 + 1;" (assignment_expression "puVar16 = puVar16 + 1" identifier = (binary_expression "puVar16 + 1" identifier + number_literal)) ;) (expression_statement "fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);" (call_expression "fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1)" identifier (argument_list "((FILE *)config.map_file,"%02x",(ulong)bVar1)" ( (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) , (string_literal ""%02x"" " string_content ") , (cast_expression "(ulong)bVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) while (parenthesized_expression "(puVar16 != pfVar5->data + sVar6)" ( (binary_expression "puVar16 != pfVar5->data + sVar6" identifier != (binary_expression "pfVar5->data + sVar6" (field_expression "pfVar5->data" identifier -> field_identifier) + identifier)) )) ;) })) (expression_statement "fputc(10,(FILE *)config.map_file);" (call_expression "fputc(10,(FILE *)config.map_file)" identifier (argument_list "(10,(FILE *)config.map_file)" ( number_literal , (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) ))) ;) (return_statement "return;" return ;)) (case_statement "case lang_data_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    plVar19 = (s->wild_statement).children.head;\n    if ((s->output_section_statement).prev != (lang_output_section_statement_struct *)0x0) {\n      plVar19 = (lang_statement_union *)\n                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19);\n    }\n    switch((s->data_statement).type) {\n    case 0x11a:\n      pcVar12 = "QUAD";\n      uVar13 = 8;\n      break;\n    case 0x11b:\n      pcVar12 = "SQUAD";\n      uVar13 = 8;\n      break;\n    case 0x11c:\n      pcVar12 = "LONG";\n      uVar13 = 4;\n      break;\n    case 0x11d:\n      pcVar12 = "SHORT";\n      uVar13 = 2;\n      break;\n    case 0x11e:\n      pcVar12 = "BYTE";\n      uVar13 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar17 = (ulong)(uint)(1 << ((byte)opb_shift & 0x1f));\n    if (uVar17 < uVar13) {\n      uVar17 = uVar13;\n    }\n    minfo("0x%V %W %s 0x%v",plVar19,uVar17 >> ((byte)opb_shift & 0x3f),pcVar12,\n          (s->wild_statement).section_list);\n    if (((s->reloc_statement).howto)->pc_relative != 7) {\n      print_space();\n      exp_print_tree((s->data_statement).exp);\n    }\n    print_nl();\n    print_dot = (uVar17 >> ((byte)opb_shift & 0x3f)) + (long)plVar19;\n    break;" case identifier : (expression_statement "init_opb();" (call_expression "init_opb()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar15 = 0x10;" (assignment_expression "iVar15 = 0x10" identifier = number_literal) ;) (do_statement "do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);" do (compound_statement "{\n      print_space();\n      iVar15 = iVar15 + -1;\n    }" { (expression_statement "print_space();" (call_expression "print_space()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) ;) (expression_statement "plVar19 = (s->wild_statement).children.head;" (assignment_expression "plVar19 = (s->wild_statement).children.head" identifier = (field_expression "(s->wild_statement).children.head" (field_expression "(s->wild_statement).children" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((s->output_section_statement).prev != (lang_output_section_statement_struct *)0x0) {\n      plVar19 = (lang_statement_union *)\n                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19);\n    }" if (parenthesized_expression "((s->output_section_statement).prev != (lang_output_section_statement_struct *)0x0)" ( (binary_expression "(s->output_section_statement).prev != (lang_output_section_statement_struct *)0x0" (field_expression "(s->output_section_statement).prev" (parenthesized_expression "(s->output_section_statement)" ( (field_expression "s->output_section_statement" identifier -> field_identifier) )) . field_identifier) != (cast_expression "(lang_output_section_statement_struct *)0x0" ( (type_descriptor "lang_output_section_statement_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      plVar19 = (lang_statement_union *)\n                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19);\n    }" { (expression_statement "plVar19 = (lang_statement_union *)\n                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19);" (assignment_expression "plVar19 = (lang_statement_union *)\n                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19)" identifier = (cast_expression "(lang_statement_union *)\n                ((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19)" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19)" ( (binary_expression "(long)&(((s->output_section_statement).prev)->prev->header).next + (long)plVar19" (cast_expression "(long)&(((s->output_section_statement).prev)->prev->header).next" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(((s->output_section_statement).prev)->prev->header).next" & (field_expression "(((s->output_section_statement).prev)->prev->header).next" (parenthesized_expression "(((s->output_section_statement).prev)->prev->header)" ( (field_expression "((s->output_section_statement).prev)->prev->header" (field_expression "((s->output_section_statement).prev)->prev" (parenthesized_expression "((s->output_section_statement).prev)" ( (field_expression "(s->output_section_statement).prev" (parenthesized_expression "(s->output_section_statement)" ( (field_expression "s->output_section_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) -> field_identifier) )) . field_identifier))) + (cast_expression "(long)plVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) })) (switch_statement "switch((s->data_statement).type) {\n    case 0x11a:\n      pcVar12 = "QUAD";\n      uVar13 = 8;\n      break;\n    case 0x11b:\n      pcVar12 = "SQUAD";\n      uVar13 = 8;\n      break;\n    case 0x11c:\n      pcVar12 = "LONG";\n      uVar13 = 4;\n      break;\n    case 0x11d:\n      pcVar12 = "SHORT";\n      uVar13 = 2;\n      break;\n    case 0x11e:\n      pcVar12 = "BYTE";\n      uVar13 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }" switch (parenthesized_expression "((s->data_statement).type)" ( (field_expression "(s->data_statement).type" (parenthesized_expression "(s->data_statement)" ( (field_expression "s->data_statement" identifier -> field_identifier) )) . field_identifier) )) (compound_statement "{\n    case 0x11a:\n      pcVar12 = "QUAD";\n      uVar13 = 8;\n      break;\n    case 0x11b:\n      pcVar12 = "SQUAD";\n      uVar13 = 8;\n      break;\n    case 0x11c:\n      pcVar12 = "LONG";\n      uVar13 = 4;\n      break;\n    case 0x11d:\n      pcVar12 = "SHORT";\n      uVar13 = 2;\n      break;\n    case 0x11e:\n      pcVar12 = "BYTE";\n      uVar13 = 1;\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }" { (case_statement "case 0x11a:\n      pcVar12 = "QUAD";\n      uVar13 = 8;\n      break;" case number_literal : (expression_statement "pcVar12 = "QUAD";" (assignment_expression "pcVar12 = "QUAD"" identifier = (string_literal ""QUAD"" " string_content ")) ;) (expression_statement "uVar13 = 8;" (assignment_expression "uVar13 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11b:\n      pcVar12 = "SQUAD";\n      uVar13 = 8;\n      break;" case number_literal : (expression_statement "pcVar12 = "SQUAD";" (assignment_expression "pcVar12 = "SQUAD"" identifier = (string_literal ""SQUAD"" " string_content ")) ;) (expression_statement "uVar13 = 8;" (assignment_expression "uVar13 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11c:\n      pcVar12 = "LONG";\n      uVar13 = 4;\n      break;" case number_literal : (expression_statement "pcVar12 = "LONG";" (assignment_expression "pcVar12 = "LONG"" identifier = (string_literal ""LONG"" " string_content ")) ;) (expression_statement "uVar13 = 4;" (assignment_expression "uVar13 = 4" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11d:\n      pcVar12 = "SHORT";\n      uVar13 = 2;\n      break;" case number_literal : (expression_statement "pcVar12 = "SHORT";" (assignment_expression "pcVar12 = "SHORT"" identifier = (string_literal ""SHORT"" " string_content ")) ;) (expression_statement "uVar13 = 2;" (assignment_expression "uVar13 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11e:\n      pcVar12 = "BYTE";\n      uVar13 = 1;\n      break;" case number_literal : (expression_statement "pcVar12 = "BYTE";" (assignment_expression "pcVar12 = "BYTE"" identifier = (string_literal ""BYTE"" " string_content ")) ;) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n      ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement");" default : comment (expression_statement "ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement");" (call_expression "ld_abort("../../ld/ldlang.c",0x10c9,"print_data_statement")" identifier (argument_list "("../../ld/ldlang.c",0x10c9,"print_data_statement")" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal , (string_literal ""print_data_statement"" " string_content ") ))) ;)) })) (expression_statement "uVar17 = (ulong)(uint)(1 << ((byte)opb_shift & 0x1f));" (assignment_expression "uVar17 = (ulong)(uint)(1 << ((byte)opb_shift & 0x1f))" identifier = (call_expression "(ulong)(uint)(1 << ((byte)opb_shift & 0x1f))" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(1 << ((byte)opb_shift & 0x1f))" ( (binary_expression "1 << ((byte)opb_shift & 0x1f)" number_literal << (parenthesized_expression "((byte)opb_shift & 0x1f)" ( (binary_expression "(byte)opb_shift & 0x1f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (if_statement "if (uVar17 < uVar13) {\n      uVar17 = uVar13;\n    }" if (parenthesized_expression "(uVar17 < uVar13)" ( (binary_expression "uVar17 < uVar13" identifier < identifier) )) (compound_statement "{\n      uVar17 = uVar13;\n    }" { (expression_statement "uVar17 = uVar13;" (assignment_expression "uVar17 = uVar13" identifier = identifier) ;) })) (expression_statement "minfo("0x%V %W %s 0x%v",plVar19,uVar17 >> ((byte)opb_shift & 0x3f),pcVar12,\n          (s->wild_statement).section_list);" (call_expression "minfo("0x%V %W %s 0x%v",plVar19,uVar17 >> ((byte)opb_shift & 0x3f),pcVar12,\n          (s->wild_statement).section_list)" identifier (argument_list "("0x%V %W %s 0x%v",plVar19,uVar17 >> ((byte)opb_shift & 0x3f),pcVar12,\n          (s->wild_statement).section_list)" ( (string_literal ""0x%V %W %s 0x%v"" " string_content ") , identifier , (binary_expression "uVar17 >> ((byte)opb_shift & 0x3f)" identifier >> (parenthesized_expression "((byte)opb_shift & 0x3f)" ( (binary_expression "(byte)opb_shift & 0x3f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) , identifier , (field_expression "(s->wild_statement).section_list" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) ))) ;) (if_statement "if (((s->reloc_statement).howto)->pc_relative != 7) {\n      print_space();\n      exp_print_tree((s->data_statement).exp);\n    }" if (parenthesized_expression "(((s->reloc_statement).howto)->pc_relative != 7)" ( (binary_expression "((s->reloc_statement).howto)->pc_relative != 7" (field_expression "((s->reloc_statement).howto)->pc_relative" (parenthesized_expression "((s->reloc_statement).howto)" ( (field_expression "(s->reloc_statement).howto" (parenthesized_expression "(s->reloc_statement)" ( (field_expression "s->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) != number_literal) )) (compound_statement "{\n      print_space();\n      exp_print_tree((s->data_statement).exp);\n    }" { (expression_statement "print_space();" (call_expression "print_space()" identifier (argument_list "()" ( ))) ;) (expression_statement "exp_print_tree((s->data_statement).exp);" (call_expression "exp_print_tree((s->data_statement).exp)" identifier (argument_list "((s->data_statement).exp)" ( (field_expression "(s->data_statement).exp" (parenthesized_expression "(s->data_statement)" ( (field_expression "s->data_statement" identifier -> field_identifier) )) . field_identifier) ))) ;) })) (expression_statement "print_nl();" (call_expression "print_nl()" identifier (argument_list "()" ( ))) ;) (expression_statement "print_dot = (uVar17 >> ((byte)opb_shift & 0x3f)) + (long)plVar19;" (assignment_expression "print_dot = (uVar17 >> ((byte)opb_shift & 0x3f)) + (long)plVar19" identifier = (binary_expression "(uVar17 >> ((byte)opb_shift & 0x3f)) + (long)plVar19" (parenthesized_expression "(uVar17 >> ((byte)opb_shift & 0x3f))" ( (binary_expression "uVar17 >> ((byte)opb_shift & 0x3f)" identifier >> (parenthesized_expression "((byte)opb_shift & 0x3f)" ( (binary_expression "(byte)opb_shift & 0x3f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) + (cast_expression "(long)plVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (break_statement "break;" break ;)) (case_statement "case lang_reloc_statement_enum:\n    init_opb();\n    iVar15 = 0x10;\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    p_Var20 = (s->wild_statement).walk_wild_section_handler;\n    if ((s->reloc_statement).output_section != (asection *)0x0) {\n      p_Var20 = p_Var20 + ((s->reloc_statement).output_section)->vma;\n    }\n    uVar9 = bfd_get_reloc_size((s->data_statement).exp);\n    minfo("0x%V %W RELOC %s ",p_Var20,(ulong)(uVar9 >> ((byte)opb_shift & 0x3f)),\n          ((s->reloc_statement).howto)->name);\n    paVar10 = (s->data_statement).output_section;\n    if (paVar10 == (asection *)0x0) {\n      paVar10 = (asection *)((s->wild_statement).section_list)->next;\n    }\n    minfo("%s+",paVar10);\n    exp_print_tree((etree_type *)(s->wild_statement).children.head);\n    print_nl();\n    print_dot = (bfd_vma)(p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f)));\n    break;" case identifier : (expression_statement "init_opb();" (call_expression "init_opb()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar15 = 0x10;" (assignment_expression "iVar15 = 0x10" identifier = number_literal) ;) (do_statement "do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);" do (compound_statement "{\n      print_space();\n      iVar15 = iVar15 + -1;\n    }" { (expression_statement "print_space();" (call_expression "print_space()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) ;) (expression_statement "p_Var20 = (s->wild_statement).walk_wild_section_handler;" (assignment_expression "p_Var20 = (s->wild_statement).walk_wild_section_handler" identifier = (field_expression "(s->wild_statement).walk_wild_section_handler" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((s->reloc_statement).output_section != (asection *)0x0) {\n      p_Var20 = p_Var20 + ((s->reloc_statement).output_section)->vma;\n    }" if (parenthesized_expression "((s->reloc_statement).output_section != (asection *)0x0)" ( (binary_expression "(s->reloc_statement).output_section != (asection *)0x0" (field_expression "(s->reloc_statement).output_section" (parenthesized_expression "(s->reloc_statement)" ( (field_expression "s->reloc_statement" identifier -> field_identifier) )) . field_identifier) != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      p_Var20 = p_Var20 + ((s->reloc_statement).output_section)->vma;\n    }" { (expression_statement "p_Var20 = p_Var20 + ((s->reloc_statement).output_section)->vma;" (assignment_expression "p_Var20 = p_Var20 + ((s->reloc_statement).output_section)->vma" identifier = (binary_expression "p_Var20 + ((s->reloc_statement).output_section)->vma" identifier + (field_expression "((s->reloc_statement).output_section)->vma" (parenthesized_expression "((s->reloc_statement).output_section)" ( (field_expression "(s->reloc_statement).output_section" (parenthesized_expression "(s->reloc_statement)" ( (field_expression "s->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) ;) })) (expression_statement "uVar9 = bfd_get_reloc_size((s->data_statement).exp);" (assignment_expression "uVar9 = bfd_get_reloc_size((s->data_statement).exp)" identifier = (call_expression "bfd_get_reloc_size((s->data_statement).exp)" identifier (argument_list "((s->data_statement).exp)" ( (field_expression "(s->data_statement).exp" (parenthesized_expression "(s->data_statement)" ( (field_expression "s->data_statement" identifier -> field_identifier) )) . field_identifier) )))) ;) (expression_statement "minfo("0x%V %W RELOC %s ",p_Var20,(ulong)(uVar9 >> ((byte)opb_shift & 0x3f)),\n          ((s->reloc_statement).howto)->name);" (call_expression "minfo("0x%V %W RELOC %s ",p_Var20,(ulong)(uVar9 >> ((byte)opb_shift & 0x3f)),\n          ((s->reloc_statement).howto)->name)" identifier (argument_list "("0x%V %W RELOC %s ",p_Var20,(ulong)(uVar9 >> ((byte)opb_shift & 0x3f)),\n          ((s->reloc_statement).howto)->name)" ( (string_literal ""0x%V %W RELOC %s "" " string_content ") , identifier , (call_expression "(ulong)(uVar9 >> ((byte)opb_shift & 0x3f))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> ((byte)opb_shift & 0x3f))" ( (binary_expression "uVar9 >> ((byte)opb_shift & 0x3f)" identifier >> (parenthesized_expression "((byte)opb_shift & 0x3f)" ( (binary_expression "(byte)opb_shift & 0x3f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) ))) , (field_expression "((s->reloc_statement).howto)->name" (parenthesized_expression "((s->reloc_statement).howto)" ( (field_expression "(s->reloc_statement).howto" (parenthesized_expression "(s->reloc_statement)" ( (field_expression "s->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) ))) ;) (expression_statement "paVar10 = (s->data_statement).output_section;" (assignment_expression "paVar10 = (s->data_statement).output_section" identifier = (field_expression "(s->data_statement).output_section" (parenthesized_expression "(s->data_statement)" ( (field_expression "s->data_statement" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (paVar10 == (asection *)0x0) {\n      paVar10 = (asection *)((s->wild_statement).section_list)->next;\n    }" if (parenthesized_expression "(paVar10 == (asection *)0x0)" ( (binary_expression "paVar10 == (asection *)0x0" identifier == (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      paVar10 = (asection *)((s->wild_statement).section_list)->next;\n    }" { (expression_statement "paVar10 = (asection *)((s->wild_statement).section_list)->next;" (assignment_expression "paVar10 = (asection *)((s->wild_statement).section_list)->next" identifier = (cast_expression "(asection *)((s->wild_statement).section_list)->next" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((s->wild_statement).section_list)->next" (parenthesized_expression "((s->wild_statement).section_list)" ( (field_expression "(s->wild_statement).section_list" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) ;) })) (expression_statement "minfo("%s+",paVar10);" (call_expression "minfo("%s+",paVar10)" identifier (argument_list "("%s+",paVar10)" ( (string_literal ""%s+"" " string_content ") , identifier ))) ;) (expression_statement "exp_print_tree((etree_type *)(s->wild_statement).children.head);" (call_expression "exp_print_tree((etree_type *)(s->wild_statement).children.head)" identifier (argument_list "((etree_type *)(s->wild_statement).children.head)" ( (cast_expression "(etree_type *)(s->wild_statement).children.head" ( (type_descriptor "etree_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(s->wild_statement).children.head" (field_expression "(s->wild_statement).children" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ))) ;) (expression_statement "print_nl();" (call_expression "print_nl()" identifier (argument_list "()" ( ))) ;) (expression_statement "print_dot = (bfd_vma)(p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f)));" (assignment_expression "print_dot = (bfd_vma)(p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f)))" identifier = (call_expression "(bfd_vma)(p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f)))" (parenthesized_expression "(bfd_vma)" ( identifier )) (argument_list "(p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f)))" ( (binary_expression "p_Var20 + (uVar9 >> ((byte)opb_shift & 0x3f))" identifier + (parenthesized_expression "(uVar9 >> ((byte)opb_shift & 0x3f))" ( (binary_expression "uVar9 >> ((byte)opb_shift & 0x3f)" identifier >> (parenthesized_expression "((byte)opb_shift & 0x3f)" ( (binary_expression "(byte)opb_shift & 0x3f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) ))) )))) ;) (break_statement "break;" break ;)) (case_statement "case lang_target_statement_enum:\n    pcVar12 = (s->wild_statement).filename;\n    pcVar18 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf((FILE *)config.map_file,pcVar18,pcVar12);\n    return;" case identifier : (expression_statement "pcVar12 = (s->wild_statement).filename;" (assignment_expression "pcVar12 = (s->wild_statement).filename" identifier = (field_expression "(s->wild_statement).filename" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar18 = "TARGET(%s)\n";" (assignment_expression "pcVar18 = "TARGET(%s)\n"" identifier = (string_literal ""TARGET(%s)\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00113cab:\n    fprintf((FILE *)config.map_file,pcVar18,pcVar12);" statement_identifier : (expression_statement "fprintf((FILE *)config.map_file,pcVar18,pcVar12);" (call_expression "fprintf((FILE *)config.map_file,pcVar18,pcVar12)" identifier (argument_list "((FILE *)config.map_file,pcVar18,pcVar12)" ( (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) , identifier , identifier ))) ;)) (return_statement "return;" return ;)) (case_statement "case lang_output_statement_enum:\n    minfo("OUTPUT(%s",(s->wild_statement).filename);\n    if (output_target != (char *)0x0) {\n      minfo(" %s");\n    }\n    pcVar12 = ")\n";\nLAB_00113bd7:\n    minfo(pcVar12);\n    return;" case identifier : (expression_statement "minfo("OUTPUT(%s",(s->wild_statement).filename);" (call_expression "minfo("OUTPUT(%s",(s->wild_statement).filename)" identifier (argument_list "("OUTPUT(%s",(s->wild_statement).filename)" ( (string_literal ""OUTPUT(%s"" " string_content ") , (field_expression "(s->wild_statement).filename" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) ))) ;) (if_statement "if (output_target != (char *)0x0) {\n      minfo(" %s");\n    }" if (parenthesized_expression "(output_target != (char *)0x0)" ( (binary_expression "output_target != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      minfo(" %s");\n    }" { (expression_statement "minfo(" %s");" (call_expression "minfo(" %s")" identifier (argument_list "(" %s")" ( (string_literal "" %s"" " string_content ") ))) ;) })) (expression_statement "pcVar12 = ")\n";" (assignment_expression "pcVar12 = ")\n"" identifier = (string_literal "")\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00113bd7:\n    minfo(pcVar12);" statement_identifier : (expression_statement "minfo(pcVar12);" (call_expression "minfo(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;)) (return_statement "return;" return ;)) (case_statement "case lang_padding_statement_enum:\n    init_opb();\n    iVar15 = 9;\n    minfo(" *fill*");\n    do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);\n    pcVar12 = (s->wild_statement).filename;\n    if ((s->output_section_statement).next != (lang_output_section_statement_struct *)0x0) {\n      pcVar12 = pcVar12 + (long)((s->output_section_statement).next)->prev;\n    }\n    minfo("0x%V %W ",pcVar12,(s->padding_statement).size >> ((byte)opb_shift & 0x3f));\n    pfVar5 = (s->padding_statement).fill;\n    sVar6 = pfVar5->size;\n    if (sVar6 != 0) {\n      puVar16 = pfVar5->data;\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }\n    print_nl();\n    print_dot = (bfd_vma)(pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f)));\n    break;" case identifier : (expression_statement "init_opb();" (call_expression "init_opb()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar15 = 9;" (assignment_expression "iVar15 = 9" identifier = number_literal) ;) (expression_statement "minfo(" *fill*");" (call_expression "minfo(" *fill*")" identifier (argument_list "(" *fill*")" ( (string_literal "" *fill*"" " string_content ") ))) ;) (do_statement "do {\n      print_space();\n      iVar15 = iVar15 + -1;\n    } while (iVar15 != 0);" do (compound_statement "{\n      print_space();\n      iVar15 = iVar15 + -1;\n    }" { (expression_statement "print_space();" (call_expression "print_space()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) ;) (expression_statement "pcVar12 = (s->wild_statement).filename;" (assignment_expression "pcVar12 = (s->wild_statement).filename" identifier = (field_expression "(s->wild_statement).filename" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((s->output_section_statement).next != (lang_output_section_statement_struct *)0x0) {\n      pcVar12 = pcVar12 + (long)((s->output_section_statement).next)->prev;\n    }" if (parenthesized_expression "((s->output_section_statement).next != (lang_output_section_statement_struct *)0x0)" ( (binary_expression "(s->output_section_statement).next != (lang_output_section_statement_struct *)0x0" (field_expression "(s->output_section_statement).next" (parenthesized_expression "(s->output_section_statement)" ( (field_expression "s->output_section_statement" identifier -> field_identifier) )) . field_identifier) != (cast_expression "(lang_output_section_statement_struct *)0x0" ( (type_descriptor "lang_output_section_statement_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar12 = pcVar12 + (long)((s->output_section_statement).next)->prev;\n    }" { (expression_statement "pcVar12 = pcVar12 + (long)((s->output_section_statement).next)->prev;" (assignment_expression "pcVar12 = pcVar12 + (long)((s->output_section_statement).next)->prev" identifier = (binary_expression "pcVar12 + (long)((s->output_section_statement).next)->prev" identifier + (cast_expression "(long)((s->output_section_statement).next)->prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "((s->output_section_statement).next)->prev" (parenthesized_expression "((s->output_section_statement).next)" ( (field_expression "(s->output_section_statement).next" (parenthesized_expression "(s->output_section_statement)" ( (field_expression "s->output_section_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)))) ;) })) (expression_statement "minfo("0x%V %W ",pcVar12,(s->padding_statement).size >> ((byte)opb_shift & 0x3f));" (call_expression "minfo("0x%V %W ",pcVar12,(s->padding_statement).size >> ((byte)opb_shift & 0x3f))" identifier (argument_list "("0x%V %W ",pcVar12,(s->padding_statement).size >> ((byte)opb_shift & 0x3f))" ( (string_literal ""0x%V %W "" " string_content ") , identifier , (binary_expression "(s->padding_statement).size >> ((byte)opb_shift & 0x3f)" (field_expression "(s->padding_statement).size" (parenthesized_expression "(s->padding_statement)" ( (field_expression "s->padding_statement" identifier -> field_identifier) )) . field_identifier) >> (parenthesized_expression "((byte)opb_shift & 0x3f)" ( (binary_expression "(byte)opb_shift & 0x3f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) ))) ;) (expression_statement "pfVar5 = (s->padding_statement).fill;" (assignment_expression "pfVar5 = (s->padding_statement).fill" identifier = (field_expression "(s->padding_statement).fill" (parenthesized_expression "(s->padding_statement)" ( (field_expression "s->padding_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "sVar6 = pfVar5->size;" (assignment_expression "sVar6 = pfVar5->size" identifier = (field_expression "pfVar5->size" identifier -> field_identifier)) ;) (if_statement "if (sVar6 != 0) {\n      puVar16 = pfVar5->data;\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }" if (parenthesized_expression "(sVar6 != 0)" ( (binary_expression "sVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar16 = pfVar5->data;\n      do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);\n    }" { (expression_statement "puVar16 = pfVar5->data;" (assignment_expression "puVar16 = pfVar5->data" identifier = (field_expression "pfVar5->data" identifier -> field_identifier)) ;) (do_statement "do {\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      } while (puVar16 != pfVar5->data + sVar6);" do (compound_statement "{\n        bVar1 = *puVar16;\n        puVar16 = puVar16 + 1;\n        fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);\n      }" { (expression_statement "bVar1 = *puVar16;" (assignment_expression "bVar1 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "puVar16 = puVar16 + 1;" (assignment_expression "puVar16 = puVar16 + 1" identifier = (binary_expression "puVar16 + 1" identifier + number_literal)) ;) (expression_statement "fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1);" (call_expression "fprintf((FILE *)config.map_file,"%02x",(ulong)bVar1)" identifier (argument_list "((FILE *)config.map_file,"%02x",(ulong)bVar1)" ( (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) , (string_literal ""%02x"" " string_content ") , (cast_expression "(ulong)bVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) while (parenthesized_expression "(puVar16 != pfVar5->data + sVar6)" ( (binary_expression "puVar16 != pfVar5->data + sVar6" identifier != (binary_expression "pfVar5->data + sVar6" (field_expression "pfVar5->data" identifier -> field_identifier) + identifier)) )) ;) })) (expression_statement "print_nl();" (call_expression "print_nl()" identifier (argument_list "()" ( ))) ;) (expression_statement "print_dot = (bfd_vma)(pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f)));" (assignment_expression "print_dot = (bfd_vma)(pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f)))" identifier = (call_expression "(bfd_vma)(pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f)))" (parenthesized_expression "(bfd_vma)" ( identifier )) (argument_list "(pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f)))" ( (binary_expression "pcVar12 + ((s->padding_statement).size >> ((byte)opb_shift & 0x3f))" identifier + (parenthesized_expression "((s->padding_statement).size >> ((byte)opb_shift & 0x3f))" ( (binary_expression "(s->padding_statement).size >> ((byte)opb_shift & 0x3f)" (field_expression "(s->padding_statement).size" (parenthesized_expression "(s->padding_statement)" ( (field_expression "s->padding_statement" identifier -> field_identifier) )) . field_identifier) >> (parenthesized_expression "((byte)opb_shift & 0x3f)" ( (binary_expression "(byte)opb_shift & 0x3f" (cast_expression "(byte)opb_shift" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) ))) )))) ;) (break_statement "break;" break ;)) (case_statement "case lang_group_statement_enum:\n    fwrite("START GROUP\n",1,0xc,(FILE *)config.map_file);\n    for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }\n    fwrite("END GROUP\n",1,10,(FILE *)config.map_file);\n    return;" case identifier : (expression_statement "fwrite("START GROUP\n",1,0xc,(FILE *)config.map_file);" (call_expression "fwrite("START GROUP\n",1,0xc,(FILE *)config.map_file)" identifier (argument_list "("START GROUP\n",1,0xc,(FILE *)config.map_file)" ( (string_literal ""START GROUP\n"" " string_content escape_sequence ") , number_literal , number_literal , (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) ))) ;) (for_statement "for (plVar4 = (s->output_section_statement).children.head;\n        plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n      print_statement(plVar4,os);\n    }" for ( (assignment_expression "plVar4 = (s->output_section_statement).children.head" identifier = (field_expression "(s->output_section_statement).children.head" (field_expression "(s->output_section_statement).children" (parenthesized_expression "(s->output_section_statement)" ( (field_expression "s->output_section_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ; (binary_expression "plVar4 != (lang_statement_union_type *)0x0" identifier != (cast_expression "(lang_statement_union_type *)0x0" ( (type_descriptor "lang_statement_union_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar4 = (plVar4->header).next" identifier = (field_expression "(plVar4->header).next" (parenthesized_expression "(plVar4->header)" ( (field_expression "plVar4->header" identifier -> field_identifier) )) . field_identifier)) ) (compound_statement "{\n      print_statement(plVar4,os);\n    }" { (expression_statement "print_statement(plVar4,os);" (call_expression "print_statement(plVar4,os)" identifier (argument_list "(plVar4,os)" ( identifier , identifier ))) ;) })) (expression_statement "fwrite("END GROUP\n",1,10,(FILE *)config.map_file);" (call_expression "fwrite("END GROUP\n",1,10,(FILE *)config.map_file)" identifier (argument_list "("END GROUP\n",1,10,(FILE *)config.map_file)" ( (string_literal ""END GROUP\n"" " string_content escape_sequence ") , number_literal , number_literal , (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) ))) ;) (return_statement "return;" return ;)) (case_statement "case lang_insert_statement_enum:\n    pcVar12 = "BEFORE";\n    if ((s->wild_statement).filenames_sorted == 0) {\n      pcVar12 = "AFTER";\n    }\n    minfo("INSERT %s %s\n",pcVar12,(s->wild_statement).filename);\n    return;" case identifier : (expression_statement "pcVar12 = "BEFORE";" (assignment_expression "pcVar12 = "BEFORE"" identifier = (string_literal ""BEFORE"" " string_content ")) ;) (if_statement "if ((s->wild_statement).filenames_sorted == 0) {\n      pcVar12 = "AFTER";\n    }" if (parenthesized_expression "((s->wild_statement).filenames_sorted == 0)" ( (binary_expression "(s->wild_statement).filenames_sorted == 0" (field_expression "(s->wild_statement).filenames_sorted" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) == number_literal) )) (compound_statement "{\n      pcVar12 = "AFTER";\n    }" { (expression_statement "pcVar12 = "AFTER";" (assignment_expression "pcVar12 = "AFTER"" identifier = (string_literal ""AFTER"" " string_content ")) ;) })) (expression_statement "minfo("INSERT %s %s\n",pcVar12,(s->wild_statement).filename);" (call_expression "minfo("INSERT %s %s\n",pcVar12,(s->wild_statement).filename)" identifier (argument_list "("INSERT %s %s\n",pcVar12,(s->wild_statement).filename)" ( (string_literal ""INSERT %s %s\n"" " string_content escape_sequence ") , identifier , (field_expression "(s->wild_statement).filename" (parenthesized_expression "(s->wild_statement)" ( (field_expression "s->wild_statement" identifier -> field_identifier) )) . field_identifier) ))) ;) (return_statement "return;" return ;)) (case_statement "case lang_constructors_statement_enum:\n    if (constructor_list.head != (lang_statement_union *)0x0) {\n      if (constructors_sorted == 0) {\n        minfo(" CONSTRUCTORS\n");\n        plVar4 = constructor_list.head;\n      }\n      else {\n        minfo(" SORT (CONSTRUCTORS)\n");\n        plVar4 = constructor_list.head;\n      }\n      for (; plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n        print_statement(plVar4,os);\n      }\n    }\n    break;" case identifier : (if_statement "if (constructor_list.head != (lang_statement_union *)0x0) {\n      if (constructors_sorted == 0) {\n        minfo(" CONSTRUCTORS\n");\n        plVar4 = constructor_list.head;\n      }\n      else {\n        minfo(" SORT (CONSTRUCTORS)\n");\n        plVar4 = constructor_list.head;\n      }\n      for (; plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n        print_statement(plVar4,os);\n      }\n    }" if (parenthesized_expression "(constructor_list.head != (lang_statement_union *)0x0)" ( (binary_expression "constructor_list.head != (lang_statement_union *)0x0" (field_expression "constructor_list.head" identifier . field_identifier) != (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (constructors_sorted == 0) {\n        minfo(" CONSTRUCTORS\n");\n        plVar4 = constructor_list.head;\n      }\n      else {\n        minfo(" SORT (CONSTRUCTORS)\n");\n        plVar4 = constructor_list.head;\n      }\n      for (; plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n        print_statement(plVar4,os);\n      }\n    }" { (if_statement "if (constructors_sorted == 0) {\n        minfo(" CONSTRUCTORS\n");\n        plVar4 = constructor_list.head;\n      }\n      else {\n        minfo(" SORT (CONSTRUCTORS)\n");\n        plVar4 = constructor_list.head;\n      }" if (parenthesized_expression "(constructors_sorted == 0)" ( (binary_expression "constructors_sorted == 0" identifier == number_literal) )) (compound_statement "{\n        minfo(" CONSTRUCTORS\n");\n        plVar4 = constructor_list.head;\n      }" { (expression_statement "minfo(" CONSTRUCTORS\n");" (call_expression "minfo(" CONSTRUCTORS\n")" identifier (argument_list "(" CONSTRUCTORS\n")" ( (string_literal "" CONSTRUCTORS\n"" " string_content escape_sequence ") ))) ;) (expression_statement "plVar4 = constructor_list.head;" (assignment_expression "plVar4 = constructor_list.head" identifier = (field_expression "constructor_list.head" identifier . field_identifier)) ;) }) (else_clause "else {\n        minfo(" SORT (CONSTRUCTORS)\n");\n        plVar4 = constructor_list.head;\n      }" else (compound_statement "{\n        minfo(" SORT (CONSTRUCTORS)\n");\n        plVar4 = constructor_list.head;\n      }" { (expression_statement "minfo(" SORT (CONSTRUCTORS)\n");" (call_expression "minfo(" SORT (CONSTRUCTORS)\n")" identifier (argument_list "(" SORT (CONSTRUCTORS)\n")" ( (string_literal "" SORT (CONSTRUCTORS)\n"" " string_content escape_sequence ") ))) ;) (expression_statement "plVar4 = constructor_list.head;" (assignment_expression "plVar4 = constructor_list.head" identifier = (field_expression "constructor_list.head" identifier . field_identifier)) ;) }))) (for_statement "for (; plVar4 != (lang_statement_union_type *)0x0; plVar4 = (plVar4->header).next) {\n        print_statement(plVar4,os);\n      }" for ( ; (binary_expression "plVar4 != (lang_statement_union_type *)0x0" identifier != (cast_expression "(lang_statement_union_type *)0x0" ( (type_descriptor "lang_statement_union_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar4 = (plVar4->header).next" identifier = (field_expression "(plVar4->header).next" (parenthesized_expression "(plVar4->header)" ( (field_expression "plVar4->header" identifier -> field_identifier) )) . field_identifier)) ) (compound_statement "{\n        print_statement(plVar4,os);\n      }" { (expression_statement "print_statement(plVar4,os);" (call_expression "print_statement(plVar4,os)" identifier (argument_list "(plVar4,os)" ( identifier , identifier ))) ;) })) })) (break_statement "break;" break ;)) (case_statement "default:\n    pcVar12 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf((FILE *)config.map_file,pcVar12,(ulong)sVar2);\n    info_assert("../../ld/ldlang.c",0x11bc);\n    return;" default : (expression_statement "pcVar12 = (char *)dcgettext(0,"Fail with %d\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"Fail with %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Fail with %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Fail with %d\n",5)" identifier (argument_list "(0,"Fail with %d\n",5)" ( number_literal , (string_literal ""Fail with %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf((FILE *)config.map_file,pcVar12,(ulong)sVar2);" (call_expression "fprintf((FILE *)config.map_file,pcVar12,(ulong)sVar2)" identifier (argument_list "((FILE *)config.map_file,pcVar12,(ulong)sVar2)" ( (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) , identifier , (cast_expression "(ulong)sVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "info_assert("../../ld/ldlang.c",0x11bc);" (call_expression "info_assert("../../ld/ldlang.c",0x11bc)" identifier (argument_list "("../../ld/ldlang.c",0x11bc)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) (return_statement "return;" return ;)) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_001138c0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  undefined8 *puVar2;\n  long *plVar3;\n  bool bVar4;\n  uint uVar5;\n  undefined8 uVar6;\n  size_t sVar7;\n  undefined8 uVar8;\n  char *pcVar9;\n  ulong uVar10;\n  int iVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  long lVar14;\n  long lVar15;\n  \n  uVar5 = *(uint *)(param_1 + 8);\n  switch(uVar5) {\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }\n  return;\n}\n\n" (function_definition "void FUN_001138c0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  undefined8 *puVar2;\n  long *plVar3;\n  bool bVar4;\n  uint uVar5;\n  undefined8 uVar6;\n  size_t sVar7;\n  undefined8 uVar8;\n  char *pcVar9;\n  ulong uVar10;\n  int iVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  long lVar14;\n  long lVar15;\n  \n  uVar5 = *(uint *)(param_1 + 8);\n  switch(uVar5) {\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_001138c0(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  byte bVar1;\n  undefined8 *puVar2;\n  long *plVar3;\n  bool bVar4;\n  uint uVar5;\n  undefined8 uVar6;\n  size_t sVar7;\n  undefined8 uVar8;\n  char *pcVar9;\n  ulong uVar10;\n  int iVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  long lVar14;\n  long lVar15;\n  \n  uVar5 = *(uint *)(param_1 + 8);\n  switch(uVar5) {\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "long lVar14;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (expression_statement "uVar5 = *(uint *)(param_1 + 8);" (assignment_expression "uVar5 = *(uint *)(param_1 + 8)" identifier = (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (switch_statement "switch(uVar5) {\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }" switch (parenthesized_expression "(uVar5)" ( identifier )) (compound_statement "{\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }" { (case_statement "case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;" case number_literal : (if_statement "if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }" if (parenthesized_expression "(param_1 != DAT_00185970)" ( (binary_expression "param_1 != DAT_00185970" identifier != identifier) )) (compound_statement "{\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }" { (expression_statement "lVar15 = *(long *)(param_1 + 0x38);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x38)" identifier = (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));" (call_expression "FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30))" identifier (argument_list "(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30))" ( (pointer_expression "&DAT_0013efed" & identifier) , (pointer_expression "*(undefined8 *)(param_1 + 0x30)" * (cast_expression "(undefined8 *)(param_1 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) ))) ;) (if_statement "if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }" if (parenthesized_expression "(lVar15 != 0)" ( (binary_expression "lVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }" { (expression_statement "DAT_00185390 = *(long *)(lVar15 + 0x28);" (assignment_expression "DAT_00185390 = *(long *)(lVar15 + 0x28)" identifier = (pointer_expression "*(long *)(lVar15 + 0x28)" * (cast_expression "(long *)(lVar15 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "sVar7 = strlen(*(char **)(param_1 + 0x30));" (assignment_expression "sVar7 = strlen(*(char **)(param_1 + 0x30))" identifier = (call_expression "strlen(*(char **)(param_1 + 0x30))" identifier (argument_list "(*(char **)(param_1 + 0x30))" ( (pointer_expression "*(char **)(param_1 + 0x30)" * (cast_expression "(char **)(param_1 + 0x30)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) )))) ;) (expression_statement "uVar10 = sVar7 & 0xffffffff;" (assignment_expression "uVar10 = sVar7 & 0xffffffff" identifier = (binary_expression "sVar7 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }" if (parenthesized_expression "(0xe < (int)sVar7)" ( (binary_expression "0xe < (int)sVar7" number_literal < (cast_expression "(int)sVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          FUN_001242a0();\n          uVar10 = 0;\n        }" { (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) })) (do_statement "do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);" do (compound_statement "{\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = (int)uVar10 + 1;" (assignment_expression "uVar5 = (int)uVar10 + 1" identifier = (binary_expression "(int)uVar10 + 1" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar10 = (ulong)uVar5;" (assignment_expression "uVar10 = (ulong)uVar5" identifier = (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(uVar5 != 0x10)" ( (binary_expression "uVar5 != 0x10" identifier != number_literal) )) ;) (expression_statement "FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));" (call_expression "FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f))" identifier (argument_list "("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f))" ( (string_literal ""0x%V %W"" " string_content ") , (pointer_expression "*(undefined8 *)(lVar15 + 0x28)" * (cast_expression "(undefined8 *)(lVar15 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) )))) , (binary_expression "*(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f)" (pointer_expression "*(ulong *)(lVar15 + 0x38)" * (cast_expression "(ulong *)(lVar15 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x38)" ( (binary_expression "lVar15 + 0x38" identifier + number_literal) )))) >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) ))) ;) (expression_statement "lVar14 = *(long *)(lVar15 + 0x30);" (assignment_expression "lVar14 = *(long *)(lVar15 + 0x30)" identifier = (pointer_expression "*(long *)(lVar15 + 0x30)" * (cast_expression "(long *)(lVar15 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x30)" ( (binary_expression "lVar15 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }" if (parenthesized_expression "(*(long *)(lVar15 + 0x28) != lVar14)" ( (binary_expression "*(long *)(lVar15 + 0x28) != lVar14" (pointer_expression "*(long *)(lVar15 + 0x28)" * (cast_expression "(long *)(lVar15 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }" { (expression_statement "uVar8 = dcgettext(0," load address 0x%V",5);" (assignment_expression "uVar8 = dcgettext(0," load address 0x%V",5)" identifier = (call_expression "dcgettext(0," load address 0x%V",5)" identifier (argument_list "(0," load address 0x%V",5)" ( number_literal , (string_literal "" load address 0x%V"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00125300(uVar8,lVar14);" (call_expression "FUN_00125300(uVar8,lVar14)" identifier (argument_list "(uVar8,lVar14)" ( identifier , identifier ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }" if (parenthesized_expression "(*(long *)(param_1 + 0x68) != 0)" ( (binary_expression "*(long *)(param_1 + 0x68) != 0" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }" { (expression_statement "FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);" (call_expression "FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390)" identifier (argument_list "(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390)" ( (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) , number_literal , (pointer_expression "&DAT_00185390" & identifier) ))) ;) })) })) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) })) (for_statement "for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }" for ( (assignment_expression "puVar2 = *(undefined8 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x10)" * (cast_expression "(undefined8 **)(param_1 + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)*puVar2" identifier = (cast_expression "(undefined8 *)*puVar2" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ) (compound_statement "{\n      FUN_001138c0(puVar2,param_1);\n    }" { (expression_statement "FUN_001138c0(puVar2,param_1);" (call_expression "FUN_001138c0(puVar2,param_1)" identifier (argument_list "(puVar2,param_1)" ( identifier , identifier ))) ;) })) (break_statement "break;" break ;)) (case_statement "case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;" case number_literal : (expression_statement "iVar11 = 0x10;" (assignment_expression "iVar11 = 0x10" identifier = number_literal) ;) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" do (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) ;) (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "lVar14 = *(long *)(param_2 + 0x38);" (assignment_expression "lVar14 = *(long *)(param_2 + 0x38)" identifier = (pointer_expression "*(long *)(param_2 + 0x38)" * (cast_expression "(long *)(param_2 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = *(char **)(lVar15 + 0x18);" (assignment_expression "pcVar9 = *(char **)(lVar15 + 0x18)" identifier = (pointer_expression "*(char **)(lVar15 + 0x18)" * (cast_expression "(char **)(lVar15 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }" if (parenthesized_expression "(*(int *)(lVar15 + 0x10) == 8)" ( (binary_expression "*(int *)(lVar15 + 0x10) == 8" (pointer_expression "*(int *)(lVar15 + 0x10)" * (cast_expression "(int *)(lVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }" { (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (if_statement "if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }" if (parenthesized_expression "(lVar14 == 0)" ( (binary_expression "lVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        lVar14 = 0x184c90;\n      }" { (expression_statement "lVar14 = 0x184c90;" (assignment_expression "lVar14 = 0x184c90" identifier = number_literal) ;) })) (labeled_statement "LAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);" statement_identifier : (expression_statement "FUN_00123130(pcVar9,lVar14,&DAT_00185390);" (call_expression "FUN_00123130(pcVar9,lVar14,&DAT_00185390)" identifier (argument_list "(pcVar9,lVar14,&DAT_00185390)" ( identifier , identifier , (pointer_expression "&DAT_00185390" & identifier) ))) ;)) (expression_statement "lVar14 = DAT_00185c60;" (assignment_expression "lVar14 = DAT_00185c60" identifier = identifier) ;) (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (DAT_00185c78 == 0) goto LAB_00113952;" if (parenthesized_expression "(DAT_00185c78 == 0)" ( (binary_expression "DAT_00185c78 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00113952;" goto statement_identifier ;)) (if_statement "if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }" if (parenthesized_expression "(*(int *)(lVar15 + 0x10) == 8)" ( (binary_expression "*(int *)(lVar15 + 0x10) == 8" (pointer_expression "*(int *)(lVar15 + 0x10)" * (cast_expression "(int *)(lVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }" { (if_statement "if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }" if (parenthesized_expression "(DAT_00185c70 != 0)" ( (binary_expression "DAT_00185c70 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }" { (labeled_statement "LAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);" statement_identifier : (expression_statement "lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);" (assignment_expression "lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28)" identifier = (binary_expression "DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28)" identifier + (pointer_expression "*(long *)(DAT_00185c70 + 0x28)" * (cast_expression "(long *)(DAT_00185c70 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00185c70 + 0x28)" ( (binary_expression "DAT_00185c70 + 0x28" identifier + number_literal) )))))) ;)) })) (expression_statement "FUN_00125300("0x%V",lVar14);" (call_expression "FUN_00125300("0x%V",lVar14)" identifier (argument_list "("0x%V",lVar14)" ( (string_literal ""0x%V"" " string_content ") , identifier ))) ;) (if_statement "if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }" { (labeled_statement "LAB_00114222:\n          DAT_00185390 = lVar14;" statement_identifier : (expression_statement "DAT_00185390 = lVar14;" (assignment_expression "DAT_00185390 = lVar14" identifier = identifier) ;)) })) }) (else_clause "else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }" else (compound_statement "{\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }" { (if_statement "if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }" { (if_statement "if (DAT_00185c70 != 0) goto LAB_00114205;" if (parenthesized_expression "(DAT_00185c70 != 0)" ( (binary_expression "DAT_00185c70 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00114205;" goto statement_identifier ;)) (expression_statement "FUN_00125300("0x%V",DAT_00185c60);" (call_expression "FUN_00125300("0x%V",DAT_00185c60)" identifier (argument_list "("0x%V",DAT_00185c60)" ( (string_literal ""0x%V"" " string_content ") , identifier ))) ;) (goto_statement "goto LAB_00114222;" goto statement_identifier ;) })) (if_statement "if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }" if (parenthesized_expression "(DAT_00185c50 == (char *)0x0)" ( (binary_expression "DAT_00185c50 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }" { (expression_statement "lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);" (assignment_expression "lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1)" identifier = (call_expression "bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1)" identifier (argument_list "(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1)" ( identifier , (pointer_expression "*(undefined8 *)(lVar15 + 0x18)" * (cast_expression "(undefined8 *)(lVar15 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) )))) , number_literal , number_literal , number_literal )))) ;) (if_statement "if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (compound_statement "{\n            FUN_00125300("[unresolved]");\n          }" { (expression_statement "FUN_00125300("[unresolved]");" (call_expression "FUN_00125300("[unresolved]")" identifier (argument_list "("[unresolved]")" ( (string_literal ""[unresolved]"" " string_content ") ))) ;) }) (else_clause "else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }" else (compound_statement "{\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }" { (expression_statement "FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));" (call_expression "FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28))" identifier (argument_list "("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28))" ( (string_literal ""[0x%V]"" " string_content ") , (binary_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" (binary_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30)" (pointer_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x60)" * (cast_expression "(long *)(*(long *)(lVar15 + 0x28) + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar15 + 0x28) + 0x60)" ( (binary_expression "*(long *)(lVar15 + 0x28) + 0x60" (pointer_expression "*(long *)(lVar15 + 0x28)" * (cast_expression "(long *)(lVar15 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) )))) + number_literal) )))) + (pointer_expression "*(long *)(lVar15 + 0x30)" * (cast_expression "(long *)(lVar15 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x30)" ( (binary_expression "lVar15 + 0x30" identifier + number_literal) ))))) + (pointer_expression "*(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" * (cast_expression "(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" ( (binary_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28" (pointer_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x68)" * (cast_expression "(long *)(*(long *)(lVar15 + 0x28) + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar15 + 0x28) + 0x68)" ( (binary_expression "*(long *)(lVar15 + 0x28) + 0x68" (pointer_expression "*(long *)(lVar15 + 0x28)" * (cast_expression "(long *)(lVar15 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ))) ;) }))) }) (else_clause "else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }" else (compound_statement "{\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }" { (if_statement "if (DAT_00185c70 != 0) goto LAB_00114205;" if (parenthesized_expression "(DAT_00185c70 != 0)" ( (binary_expression "DAT_00185c70 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00114205;" goto statement_identifier ;)) (expression_statement "FUN_00125300("0x%V",DAT_00185c60);" (call_expression "FUN_00125300("0x%V",DAT_00185c60)" identifier (argument_list "("0x%V",DAT_00185c60)" ( (string_literal ""0x%V"" " string_content ") , identifier ))) ;) }))) }))) }) (else_clause "else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }" else (compound_statement "{\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }" { (if_statement "if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }" if (parenthesized_expression "((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0'))" ( (binary_expression "(*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')" (parenthesized_expression "(*pcVar9 != '.')" ( (binary_expression "*pcVar9 != '.'" (pointer_expression "*pcVar9" * identifier) != (char_literal "'.'" ' character ')) )) || (parenthesized_expression "(bVar4 = true, pcVar9[1] != '\0')" ( (comma_expression "bVar4 = true, pcVar9[1] != '\0'" (assignment_expression "bVar4 = true" identifier = true) , (binary_expression "pcVar9[1] != '\0'" (subscript_expression "pcVar9[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }" { (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "DAT_00185c50 = pcVar9;" (assignment_expression "DAT_00185c50 = pcVar9" identifier = identifier) ;) })) (expression_statement "pcVar9 = *(char **)(lVar15 + 0x20);" (assignment_expression "pcVar9 = *(char **)(lVar15 + 0x20)" identifier = (pointer_expression "*(char **)(lVar15 + 0x20)" * (cast_expression "(char **)(lVar15 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }" if (parenthesized_expression "(lVar14 == 0)" ( (binary_expression "lVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        lVar14 = 0x184c90;\n      }" { (expression_statement "lVar14 = 0x184c90;" (assignment_expression "lVar14 = 0x184c90" identifier = number_literal) ;) })) (if_statement "if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;" if (parenthesized_expression "(*(int *)(lVar15 + 0x10) != 5)" ( (binary_expression "*(int *)(lVar15 + 0x10) != 5" (pointer_expression "*(int *)(lVar15 + 0x10)" * (cast_expression "(int *)(lVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001141b0;" goto statement_identifier ;)) (expression_statement "DAT_00185c78 = 0;" (assignment_expression "DAT_00185c78 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }" statement_identifier : (if_statement "if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }" if (parenthesized_expression "(*(int *)(lVar15 + 0x10) == 5)" ( (binary_expression "*(int *)(lVar15 + 0x10) == 5" (pointer_expression "*(int *)(lVar15 + 0x10)" * (cast_expression "(int *)(lVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        FUN_00125300("[!provide]");\n      }" { (expression_statement "FUN_00125300("[!provide]");" (call_expression "FUN_00125300("[!provide]")" identifier (argument_list "("[!provide]")" ( (string_literal ""[!provide]"" " string_content ") ))) ;) }) (else_clause "else {\n        FUN_00125300("*undef*   ");\n      }" else (compound_statement "{\n        FUN_00125300("*undef*   ");\n      }" { (expression_statement "FUN_00125300("*undef*   ");" (call_expression "FUN_00125300("*undef*   ")" identifier (argument_list "("*undef*   ")" ( (string_literal ""*undef*   "" " string_content ") ))) ;) })))) (expression_statement "FUN_00125300(&DAT_0013f03e);" (call_expression "FUN_00125300(&DAT_0013f03e)" identifier (argument_list "(&DAT_0013f03e)" ( (pointer_expression "&DAT_0013f03e" & identifier) ))) ;) }))) (expression_statement "DAT_00185c50 = (char *)0x0;" (assignment_expression "DAT_00185c50 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00125300(&DAT_0013f036);" (call_expression "FUN_00125300(&DAT_0013f036)" identifier (argument_list "(&DAT_0013f036)" ( (pointer_expression "&DAT_0013f036" & identifier) ))) ;) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001139f8:\n    FUN_00123490(uVar8);" statement_identifier : (expression_statement "FUN_00123490(uVar8);" (call_expression "FUN_00123490(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;)) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;" case number_literal : (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }" if (parenthesized_expression "((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       ))" ( (binary_expression "(lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )" (parenthesized_expression "(lVar15 != 0)" ( (binary_expression "lVar15 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )" ( (parenthesized_expression "(*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))" ( (binary_expression "*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0)" (binary_expression "*(long *)(param_1 + 0x20) == 0" (pointer_expression "*(long *)(param_1 + 0x20)" * (cast_expression "(long *)(param_1 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0)" ( (binary_expression "(*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0" (parenthesized_expression "(*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2)" ( (binary_expression "*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2" (pointer_expression "*(byte *)(*(long *)(param_1 + 0x20) + 0x46)" * (cast_expression "(byte *)(*(long *)(param_1 + 0x20) + 0x46)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x20) + 0x46)" ( (binary_expression "*(long *)(param_1 + 0x20) + 0x46" (pointer_expression "*(long *)(param_1 + 0x20)" * (cast_expression "(long *)(param_1 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }" { (expression_statement "pcVar9 = "LOAD %s\n";" (assignment_expression "pcVar9 = "LOAD %s\n"" identifier = (string_literal ""LOAD %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00113cab;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;" case number_literal : (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = dcgettext(0,"Address of section %s set to ",5);" (assignment_expression "uVar6 = dcgettext(0,"Address of section %s set to ",5)" identifier = (call_expression "dcgettext(0,"Address of section %s set to ",5)" identifier (argument_list "(0,"Address of section %s set to ",5)" ( number_literal , (string_literal ""Address of section %s set to "" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00125300(uVar6,uVar8);" (call_expression "FUN_00125300(uVar6,uVar8)" identifier (argument_list "(uVar6,uVar8)" ( identifier , identifier ))) ;) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x18);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x18)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x18)" * (cast_expression "(undefined8 *)(param_1 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001139f8;" goto statement_identifier ;)) (case_statement "case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;" case number_literal : (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }" if (parenthesized_expression "(*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0)" ( (binary_expression "*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0" (pointer_expression "*(undefined8 **)(param_1 + 0x40)" * (cast_expression "(undefined8 **)(param_1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }" { (expression_statement "FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));" (call_expression "FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40))" identifier (argument_list "("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40))" ( (string_literal ""EXCLUDE_FILE(%s"" " string_content ") , (pointer_expression "**(undefined8 **)(param_1 + 0x40)" * (pointer_expression "*(undefined8 **)(param_1 + 0x40)" * (cast_expression "(undefined8 **)(param_1 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ))) ;) (for_statement "for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }" for ( (assignment_expression "puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8)" identifier = (pointer_expression "*(undefined8 **)(*(long *)(param_1 + 0x40) + 8)" * (cast_expression "(undefined8 **)(*(long *)(param_1 + 0x40) + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0x40) + 8)" ( (binary_expression "*(long *)(param_1 + 0x40) + 8" (pointer_expression "*(long *)(param_1 + 0x40)" * (cast_expression "(long *)(param_1 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) + number_literal) ))))) ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)puVar2[1]" identifier = (cast_expression "(undefined8 *)puVar2[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[1]" identifier [ number_literal ]))) ) (compound_statement "{\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }" { (expression_statement "FUN_00125300(&DAT_0013d727,*puVar2);" (call_expression "FUN_00125300(&DAT_0013d727,*puVar2)" identifier (argument_list "(&DAT_0013d727,*puVar2)" ( (pointer_expression "&DAT_0013d727" & identifier) , (pointer_expression "*puVar2" * identifier) ))) ;) })) (expression_statement "FUN_00125300(&DAT_0013ef27);" (call_expression "FUN_00125300(&DAT_0013ef27)" identifier (argument_list "(&DAT_0013ef27)" ( (pointer_expression "&DAT_0013ef27" & identifier) ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00125300("SORT_BY_NAME(");\n    }" { (expression_statement "FUN_00125300("SORT_BY_NAME(");" (call_expression "FUN_00125300("SORT_BY_NAME(")" identifier (argument_list "("SORT_BY_NAME(")" ( (string_literal ""SORT_BY_NAME("" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }" if (parenthesized_expression "(*(long *)(param_1 + 0x10) == 0)" ( (binary_expression "*(long *)(param_1 + 0x10) == 0" (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      FUN_00125300(&DAT_0013f157);\n    }" { (expression_statement "FUN_00125300(&DAT_0013f157);" (call_expression "FUN_00125300(&DAT_0013f157)" identifier (argument_list "(&DAT_0013f157)" ( (pointer_expression "&DAT_0013f157" & identifier) ))) ;) }) (else_clause "else {\n      FUN_00125300(&DAT_0013efee);\n    }" else (compound_statement "{\n      FUN_00125300(&DAT_0013efee);\n    }" { (expression_statement "FUN_00125300(&DAT_0013efee);" (call_expression "FUN_00125300(&DAT_0013efee)" identifier (argument_list "(&DAT_0013efee)" ( (pointer_expression "&DAT_0013efee" & identifier) ))) ;) }))) (if_statement "if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00125300(")");\n    }" { (expression_statement "FUN_00125300(")");" (call_expression "FUN_00125300(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) ;) })) (expression_statement "FUN_00125300("(");" (call_expression "FUN_00125300("(")" identifier (argument_list "("(")" ( (string_literal ""("" " string_content ") ))) ;) (for_statement "for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }" for ( (assignment_expression "plVar3 = *(long **)(param_1 + 0x20)" identifier = (pointer_expression "*(long **)(param_1 + 0x20)" * (cast_expression "(long **)(param_1 + 0x20)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ; (binary_expression "plVar3 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar3 = (long *)*plVar3" identifier = (cast_expression "(long *)*plVar3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar3" * identifier))) ) (compound_statement "{\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }" { (switch_statement "switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }" switch (parenthesized_expression "((int)plVar3[3])" ( (cast_expression "(int)plVar3[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar3[3]" identifier [ number_literal ])) )) (compound_statement "{\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }" { (case_statement "default:\n        iVar11 = 0;\n        break;" default : (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;" case number_literal : (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_BY_NAME(");" (call_expression "FUN_00125300("SORT_BY_NAME(")" identifier (argument_list "("SORT_BY_NAME(")" ( (string_literal ""SORT_BY_NAME("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;" case number_literal : (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_BY_ALIGNMENT(");" (call_expression "FUN_00125300("SORT_BY_ALIGNMENT(")" identifier (argument_list "("SORT_BY_ALIGNMENT(")" ( (string_literal ""SORT_BY_ALIGNMENT("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;" case number_literal : (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");" (call_expression "FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(")" identifier (argument_list "("SORT_BY_NAME(SORT_BY_ALIGNMENT(")" ( (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;" case number_literal : (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");" (call_expression "FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(")" identifier (argument_list "("SORT_BY_ALIGNMENT(SORT_BY_NAME(")" ( (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;" case number_literal : (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_NONE(");" (call_expression "FUN_00125300("SORT_NONE(")" identifier (argument_list "("SORT_NONE(")" ( (string_literal ""SORT_NONE("" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");" case number_literal : (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "FUN_00125300("SORT_BY_INIT_PRIORITY(");" (call_expression "FUN_00125300("SORT_BY_INIT_PRIORITY(")" identifier (argument_list "("SORT_BY_INIT_PRIORITY(")" ( (string_literal ""SORT_BY_INIT_PRIORITY("" " string_content ") ))) ;)) })) (if_statement "if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }" if (parenthesized_expression "((undefined8 *)plVar3[2] != (undefined8 *)0x0)" ( (binary_expression "(undefined8 *)plVar3[2] != (undefined8 *)0x0" (cast_expression "(undefined8 *)plVar3[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar3[2]" identifier [ number_literal ])) != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }" { (expression_statement "FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);" (call_expression "FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2])" identifier (argument_list "("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2])" ( (string_literal ""EXCLUDE_FILE(%s"" " string_content ") , (pointer_expression "*(undefined8 *)plVar3[2]" * (cast_expression "(undefined8 *)plVar3[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar3[2]" identifier [ number_literal ]))) ))) ;) (for_statement "for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }" for ( (assignment_expression "puVar2 = *(undefined8 **)(plVar3[2] + 8)" identifier = (pointer_expression "*(undefined8 **)(plVar3[2] + 8)" * (cast_expression "(undefined8 **)(plVar3[2] + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(plVar3[2] + 8)" ( (binary_expression "plVar3[2] + 8" (subscript_expression "plVar3[2]" identifier [ number_literal ]) + number_literal) ))))) ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)puVar2[1]" identifier = (cast_expression "(undefined8 *)puVar2[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[1]" identifier [ number_literal ]))) ) (compound_statement "{\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }" { (expression_statement "FUN_00125300(&DAT_0013d727,*puVar2);" (call_expression "FUN_00125300(&DAT_0013d727,*puVar2)" identifier (argument_list "(&DAT_0013d727,*puVar2)" ( (pointer_expression "&DAT_0013d727" & identifier) , (pointer_expression "*puVar2" * identifier) ))) ;) })) (expression_statement "FUN_00125300(&DAT_0013ef27);" (call_expression "FUN_00125300(&DAT_0013ef27)" identifier (argument_list "(&DAT_0013ef27)" ( (pointer_expression "&DAT_0013ef27" & identifier) ))) ;) })) (if_statement "if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }" if (parenthesized_expression "(plVar3[1] == 0)" ( (binary_expression "plVar3[1] == 0" (subscript_expression "plVar3[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        FUN_00125300(&DAT_0013f157);\n      }" { (expression_statement "FUN_00125300(&DAT_0013f157);" (call_expression "FUN_00125300(&DAT_0013f157)" identifier (argument_list "(&DAT_0013f157)" ( (pointer_expression "&DAT_0013f157" & identifier) ))) ;) }) (else_clause "else {\n        FUN_00125300(&DAT_0013efee);\n      }" else (compound_statement "{\n        FUN_00125300(&DAT_0013efee);\n      }" { (expression_statement "FUN_00125300(&DAT_0013efee);" (call_expression "FUN_00125300(&DAT_0013efee)" identifier (argument_list "(&DAT_0013efee)" ( (pointer_expression "&DAT_0013efee" & identifier) ))) ;) }))) (if_statement "if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }" if (parenthesized_expression "((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1))" ( (binary_expression "(iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)" (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) && (parenthesized_expression "(FUN_00125300(")"), iVar11 != 1)" ( (comma_expression "FUN_00125300(")"), iVar11 != 1" (call_expression "FUN_00125300(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) , (binary_expression "iVar11 != 1" identifier != number_literal)) ))) )) (compound_statement "{\n        FUN_00125300(")");\n      }" { (expression_statement "FUN_00125300(")");" (call_expression "FUN_00125300(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) ;) })) (if_statement "if (*plVar3 == 0) break;" if (parenthesized_expression "(*plVar3 == 0)" ( (binary_expression "*plVar3 == 0" (pointer_expression "*plVar3" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "FUN_00125300(&DAT_0013f045);" (call_expression "FUN_00125300(&DAT_0013f045)" identifier (argument_list "(&DAT_0013f045)" ( (pointer_expression "&DAT_0013f045" & identifier) ))) ;) })) (expression_statement "FUN_00125300(")");" (call_expression "FUN_00125300(")")" identifier (argument_list "(")")" ( (string_literal "")"" " string_content ") ))) ;) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (for_statement "for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }" for ( (assignment_expression "puVar2 = *(undefined8 **)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x30)" * (cast_expression "(undefined8 **)(param_1 + 0x30)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)*puVar2" identifier = (cast_expression "(undefined8 *)*puVar2" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ) (compound_statement "{\n      FUN_001138c0(puVar2,param_2);\n    }" { (expression_statement "FUN_001138c0(puVar2,param_2);" (call_expression "FUN_001138c0(puVar2,param_2)" identifier (argument_list "(puVar2,param_2)" ( identifier , identifier ))) ;) })) (break_statement "break;" break ;)) (case_statement "case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;" case number_literal : (expression_statement "FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);" (call_expression "FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x10),0)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , number_literal ))) ;) (return_statement "return;" return ;)) (case_statement "case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;" case number_literal : (expression_statement "pcVar9 = " CREATE_OBJECT_SYMBOLS\n";" (assignment_expression "pcVar9 = " CREATE_OBJECT_SYMBOLS\n"" identifier = (string_literal "" CREATE_OBJECT_SYMBOLS\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00113bd7;" goto statement_identifier ;)) (case_statement "case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;" case number_literal : (expression_statement "fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);" (call_expression "fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8)" identifier (argument_list "(" FILL mask 0x",1,0xd,DAT_00185bd8)" ( (string_literal "" FILL mask 0x"" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "plVar3 = *(long **)(param_1 + 0x10);" (assignment_expression "plVar3 = *(long **)(param_1 + 0x10)" identifier = (pointer_expression "*(long **)(param_1 + 0x10)" * (cast_expression "(long **)(param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "lVar15 = *plVar3;" (assignment_expression "lVar15 = *plVar3" identifier = (pointer_expression "*plVar3" * identifier)) ;) (expression_statement "pbVar12 = (byte *)(plVar3 + 1);" (assignment_expression "pbVar12 = (byte *)(plVar3 + 1)" identifier = (cast_expression "(byte *)(plVar3 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar3 + 1)" ( (binary_expression "plVar3 + 1" identifier + number_literal) )))) ;) (if_statement "if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }" if (parenthesized_expression "(lVar15 != 0)" ( (binary_expression "lVar15 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }" { (do_statement "do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));" do (compound_statement "{\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      }" { (expression_statement "bVar1 = *pbVar12;" (assignment_expression "bVar1 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);" (call_expression "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1)" identifier (argument_list "(DAT_00185bd8,"%02x",(ulong)bVar1)" ( identifier , (string_literal ""%02x"" " string_content ") , (cast_expression "(ulong)bVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) while (parenthesized_expression "(pbVar12 != (byte *)((long)plVar3 + lVar15 + 8))" ( (binary_expression "pbVar12 != (byte *)((long)plVar3 + lVar15 + 8)" identifier != (cast_expression "(byte *)((long)plVar3 + lVar15 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar3 + lVar15 + 8)" ( (binary_expression "(long)plVar3 + lVar15 + 8" (binary_expression "(long)plVar3 + lVar15" (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) )) ;) })) (expression_statement "fputc(10,DAT_00185bd8);" (call_expression "fputc(10,DAT_00185bd8)" identifier (argument_list "(10,DAT_00185bd8)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;)) (case_statement "case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;" case number_literal : (expression_statement "FUN_00113550();" (call_expression "FUN_00113550()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = 0x10;" (assignment_expression "iVar11 = 0x10" identifier = number_literal) ;) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" do (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) ;) (expression_statement "lVar15 = *(long *)(param_1 + 0x30);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x30)" identifier = (pointer_expression "*(long *)(param_1 + 0x30)" * (cast_expression "(long *)(param_1 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }" if (parenthesized_expression "(*(long *)(param_1 + 0x28) != 0)" ( (binary_expression "*(long *)(param_1 + 0x28) != 0" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }" { (expression_statement "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);" (assignment_expression "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28)" identifier = (binary_expression "lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28)" identifier + (pointer_expression "*(long *)(*(long *)(param_1 + 0x28) + 0x28)" * (cast_expression "(long *)(*(long *)(param_1 + 0x28) + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x28) + 0x28)" ( (binary_expression "*(long *)(param_1 + 0x28) + 0x28" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) + number_literal) )))))) ;) })) (switch_statement "switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }" switch (parenthesized_expression "(*(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) )))) )) (compound_statement "{\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }" { (case_statement "case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;" case number_literal : (expression_statement "pcVar9 = "QUAD";" (assignment_expression "pcVar9 = "QUAD"" identifier = (string_literal ""QUAD"" " string_content ")) ;) (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;" case number_literal : (expression_statement "pcVar9 = "SQUAD";" (assignment_expression "pcVar9 = "SQUAD"" identifier = (string_literal ""SQUAD"" " string_content ")) ;) (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;" case number_literal : (expression_statement "pcVar9 = "LONG";" (assignment_expression "pcVar9 = "LONG"" identifier = (string_literal ""LONG"" " string_content ")) ;) (expression_statement "uVar10 = 4;" (assignment_expression "uVar10 = 4" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;" case number_literal : (expression_statement "pcVar9 = "SHORT";" (assignment_expression "pcVar9 = "SHORT"" identifier = (string_literal ""SHORT"" " string_content ")) ;) (expression_statement "uVar10 = 2;" (assignment_expression "uVar10 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;" case number_literal : (expression_statement "pcVar9 = "BYTE";" (assignment_expression "pcVar9 = "BYTE"" identifier = (string_literal ""BYTE"" " string_content ")) ;) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");" default : (expression_statement "FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");" (call_expression "FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement")" identifier (argument_list "("../../ld/ldlang.c",0x10c9,"print_data_statement")" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal , (string_literal ""print_data_statement"" " string_content ") ))) ;)) })) (expression_statement "uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));" (assignment_expression "uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f))" identifier = (call_expression "(ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f))" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(1 << ((byte)DAT_00185308 & 0x1f))" ( (binary_expression "1 << ((byte)DAT_00185308 & 0x1f)" number_literal << (parenthesized_expression "((byte)DAT_00185308 & 0x1f)" ( (binary_expression "(byte)DAT_00185308 & 0x1f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (if_statement "if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }" if (parenthesized_expression "(uVar13 < uVar10)" ( (binary_expression "uVar13 < uVar10" identifier < identifier) )) (compound_statement "{\n      uVar13 = uVar10;\n    }" { (expression_statement "uVar13 = uVar10;" (assignment_expression "uVar13 = uVar10" identifier = identifier) ;) })) (expression_statement "FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));" (call_expression "FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20))" identifier (argument_list "("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20))" ( (string_literal ""0x%V %W %s 0x%v"" " string_content ") , identifier , (binary_expression "uVar13 >> ((byte)DAT_00185308 & 0x3f)" identifier >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) , identifier , (pointer_expression "*(undefined8 *)(param_1 + 0x20)" * (cast_expression "(undefined8 *)(param_1 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) ))) ;) (if_statement "if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }" if (parenthesized_expression "(*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7)" ( (binary_expression "*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7" (pointer_expression "*(int *)(*(long *)(param_1 + 0x18) + 0x10)" * (cast_expression "(int *)(*(long *)(param_1 + 0x18) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x18) + 0x10)" ( (binary_expression "*(long *)(param_1 + 0x18) + 0x10" (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00123490(*(undefined8 *)(param_1 + 0x18));" (call_expression "FUN_00123490(*(undefined8 *)(param_1 + 0x18))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x18))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x18)" * (cast_expression "(undefined8 *)(param_1 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;" (assignment_expression "DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" identifier = (binary_expression "(uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (parenthesized_expression "(uVar13 >> ((byte)DAT_00185308 & 0x3f))" ( (binary_expression "uVar13 >> ((byte)DAT_00185308 & 0x3f)" identifier >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;" case number_literal : (expression_statement "FUN_00113550();" (call_expression "FUN_00113550()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = 0x10;" (assignment_expression "iVar11 = 0x10" identifier = number_literal) ;) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" do (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) ;) (expression_statement "lVar15 = *(long *)(param_1 + 0x48);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x48)" identifier = (pointer_expression "*(long *)(param_1 + 0x48)" * (cast_expression "(long *)(param_1 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }" if (parenthesized_expression "(*(long *)(param_1 + 0x40) != 0)" ( (binary_expression "*(long *)(param_1 + 0x40) != 0" (pointer_expression "*(long *)(param_1 + 0x40)" * (cast_expression "(long *)(param_1 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }" { (expression_statement "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);" (assignment_expression "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28)" identifier = (binary_expression "lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28)" identifier + (pointer_expression "*(long *)(*(long *)(param_1 + 0x40) + 0x28)" * (cast_expression "(long *)(*(long *)(param_1 + 0x40) + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x40) + 0x28)" ( (binary_expression "*(long *)(param_1 + 0x40) + 0x28" (pointer_expression "*(long *)(param_1 + 0x40)" * (cast_expression "(long *)(param_1 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));" (assignment_expression "uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18))" identifier = (call_expression "bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x18))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x18)" * (cast_expression "(undefined8 *)(param_1 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) )))) ;) (expression_statement "FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));" (call_expression "FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28))" identifier (argument_list "("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28))" ( (string_literal ""0x%V %W RELOC %s "" " string_content ") , identifier , (binary_expression "uVar5 >> ((byte)DAT_00185308 & 0x3f)" identifier >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) , (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x18) + 0x28)" ( (binary_expression "*(long *)(param_1 + 0x18) + 0x28" (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "lVar14 = *(long *)(param_1 + 0x28);" (assignment_expression "lVar14 = *(long *)(param_1 + 0x28)" identifier = (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }" if (parenthesized_expression "(lVar14 == 0)" ( (binary_expression "lVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      lVar14 = **(long **)(param_1 + 0x20);\n    }" { (expression_statement "lVar14 = **(long **)(param_1 + 0x20);" (assignment_expression "lVar14 = **(long **)(param_1 + 0x20)" identifier = (pointer_expression "**(long **)(param_1 + 0x20)" * (pointer_expression "*(long **)(param_1 + 0x20)" * (cast_expression "(long **)(param_1 + 0x20)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))))) ;) })) (expression_statement "FUN_00125300(&DAT_0013efd8,lVar14);" (call_expression "FUN_00125300(&DAT_0013efd8,lVar14)" identifier (argument_list "(&DAT_0013efd8,lVar14)" ( (pointer_expression "&DAT_0013efd8" & identifier) , identifier ))) ;) (expression_statement "FUN_00123490(*(undefined8 *)(param_1 + 0x30));" (call_expression "FUN_00123490(*(undefined8 *)(param_1 + 0x30))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x30))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x30)" * (cast_expression "(undefined8 *)(param_1 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;" (assignment_expression "DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" identifier = (binary_expression "(ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (call_expression "(ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar5 >> ((byte)DAT_00185308 & 0x3f))" ( (binary_expression "uVar5 >> ((byte)DAT_00185308 & 0x3f)" identifier >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) ))) + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;" case number_literal : (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = "TARGET(%s)\n";" (assignment_expression "pcVar9 = "TARGET(%s)\n"" identifier = (string_literal ""TARGET(%s)\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);" statement_identifier : (expression_statement "fprintf(DAT_00185bd8,pcVar9,lVar15);" (call_expression "fprintf(DAT_00185bd8,pcVar9,lVar15)" identifier (argument_list "(DAT_00185bd8,pcVar9,lVar15)" ( identifier , identifier , identifier ))) ;)) (return_statement "return;" return ;)) (case_statement "case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;" case number_literal : (expression_statement "FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));" (call_expression "FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10))" identifier (argument_list "("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10))" ( (string_literal ""OUTPUT(%s"" " string_content ") , (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) (if_statement "if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }" if (parenthesized_expression "(DAT_00185998 != 0)" ( (binary_expression "DAT_00185998 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_00125300(&DAT_0013d727);\n    }" { (expression_statement "FUN_00125300(&DAT_0013d727);" (call_expression "FUN_00125300(&DAT_0013d727)" identifier (argument_list "(&DAT_0013d727)" ( (pointer_expression "&DAT_0013d727" & identifier) ))) ;) })) (expression_statement "pcVar9 = ")\n";" (assignment_expression "pcVar9 = ")\n"" identifier = (string_literal "")\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00113bd7:\n    FUN_00125300(pcVar9);" statement_identifier : (expression_statement "FUN_00125300(pcVar9);" (call_expression "FUN_00125300(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;)) (return_statement "return;" return ;)) (case_statement "case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;" case number_literal : (expression_statement "FUN_00113550();" (call_expression "FUN_00113550()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = 9;" (assignment_expression "iVar11 = 9" identifier = number_literal) ;) (expression_statement "FUN_00125300(" *fill*");" (call_expression "FUN_00125300(" *fill*")" identifier (argument_list "(" *fill*")" ( (string_literal "" *fill*"" " string_content ") ))) ;) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" do (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" { (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) ;) (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }" if (parenthesized_expression "(*(long *)(param_1 + 0x20) != 0)" ( (binary_expression "*(long *)(param_1 + 0x20) != 0" (pointer_expression "*(long *)(param_1 + 0x20)" * (cast_expression "(long *)(param_1 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }" { (expression_statement "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);" (assignment_expression "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28)" identifier = (binary_expression "lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28)" identifier + (pointer_expression "*(long *)(*(long *)(param_1 + 0x20) + 0x28)" * (cast_expression "(long *)(*(long *)(param_1 + 0x20) + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x20) + 0x28)" ( (binary_expression "*(long *)(param_1 + 0x20) + 0x28" (pointer_expression "*(long *)(param_1 + 0x20)" * (cast_expression "(long *)(param_1 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));" (call_expression "FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f))" identifier (argument_list "("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f))" ( (string_literal ""0x%V %W "" " string_content ") , identifier , (binary_expression "*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)" (pointer_expression "*(ulong *)(param_1 + 0x18)" * (cast_expression "(ulong *)(param_1 + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) ))) ;) (expression_statement "plVar3 = *(long **)(param_1 + 0x28);" (assignment_expression "plVar3 = *(long **)(param_1 + 0x28)" identifier = (pointer_expression "*(long **)(param_1 + 0x28)" * (cast_expression "(long **)(param_1 + 0x28)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar14 = *plVar3;" (assignment_expression "lVar14 = *plVar3" identifier = (pointer_expression "*plVar3" * identifier)) ;) (if_statement "if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }" if (parenthesized_expression "(lVar14 != 0)" ( (binary_expression "lVar14 != 0" identifier != number_literal) )) (compound_statement "{\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }" { (expression_statement "pbVar12 = (byte *)(plVar3 + 1);" (assignment_expression "pbVar12 = (byte *)(plVar3 + 1)" identifier = (cast_expression "(byte *)(plVar3 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar3 + 1)" ( (binary_expression "plVar3 + 1" identifier + number_literal) )))) ;) (do_statement "do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));" do (compound_statement "{\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      }" { (expression_statement "bVar1 = *pbVar12;" (assignment_expression "bVar1 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);" (call_expression "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1)" identifier (argument_list "(DAT_00185bd8,"%02x",(ulong)bVar1)" ( identifier , (string_literal ""%02x"" " string_content ") , (cast_expression "(ulong)bVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) while (parenthesized_expression "(pbVar12 != (byte *)((long)plVar3 + lVar14 + 8))" ( (binary_expression "pbVar12 != (byte *)((long)plVar3 + lVar14 + 8)" identifier != (cast_expression "(byte *)((long)plVar3 + lVar14 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar3 + lVar14 + 8)" ( (binary_expression "(long)plVar3 + lVar14 + 8" (binary_expression "(long)plVar3 + lVar14" (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) )) ;) })) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;" (assignment_expression "DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15" identifier = (binary_expression "(*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (parenthesized_expression "(*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f))" ( (binary_expression "*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)" (pointer_expression "*(ulong *)(param_1 + 0x18)" * (cast_expression "(ulong *)(param_1 + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) >> (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" ( (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;" case number_literal : (expression_statement "fwrite("START GROUP\n",1,0xc,DAT_00185bd8);" (call_expression "fwrite("START GROUP\n",1,0xc,DAT_00185bd8)" identifier (argument_list "("START GROUP\n",1,0xc,DAT_00185bd8)" ( (string_literal ""START GROUP\n"" " string_content escape_sequence ") , number_literal , number_literal , identifier ))) ;) (for_statement "for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }" for ( (assignment_expression "puVar2 = *(undefined8 **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x10)" * (cast_expression "(undefined8 **)(param_1 + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)*puVar2" identifier = (cast_expression "(undefined8 *)*puVar2" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ) (compound_statement "{\n      FUN_001138c0(puVar2,param_2);\n    }" { (expression_statement "FUN_001138c0(puVar2,param_2);" (call_expression "FUN_001138c0(puVar2,param_2)" identifier (argument_list "(puVar2,param_2)" ( identifier , identifier ))) ;) })) (expression_statement "fwrite("END GROUP\n",1,10,DAT_00185bd8);" (call_expression "fwrite("END GROUP\n",1,10,DAT_00185bd8)" identifier (argument_list "("END GROUP\n",1,10,DAT_00185bd8)" ( (string_literal ""END GROUP\n"" " string_content escape_sequence ") , number_literal , number_literal , identifier ))) ;) (return_statement "return;" return ;)) (case_statement "case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;" case number_literal : (expression_statement "pcVar9 = "BEFORE";" (assignment_expression "pcVar9 = "BEFORE"" identifier = (string_literal ""BEFORE"" " string_content ")) ;) (if_statement "if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x18) == 0)" ( (binary_expression "*(int *)(param_1 + 0x18) == 0" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pcVar9 = "AFTER";\n    }" { (expression_statement "pcVar9 = "AFTER";" (assignment_expression "pcVar9 = "AFTER"" identifier = (string_literal ""AFTER"" " string_content ")) ;) })) (expression_statement "FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));" (call_expression "FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10))" identifier (argument_list "("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10))" ( (string_literal ""INSERT %s %s\n"" " string_content escape_sequence ") , identifier , (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ))) ;) (return_statement "return;" return ;)) (case_statement "case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;" case number_literal : (if_statement "if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }" if (parenthesized_expression "(DAT_001859c0 != (undefined8 *)0x0)" ( (binary_expression "DAT_001859c0 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }" { (if_statement "if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }" if (parenthesized_expression "(DAT_001859d0 == 0)" ( (binary_expression "DAT_001859d0 == 0" identifier == number_literal) )) (compound_statement "{\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }" { (expression_statement "FUN_00125300(" CONSTRUCTORS\n");" (call_expression "FUN_00125300(" CONSTRUCTORS\n")" identifier (argument_list "(" CONSTRUCTORS\n")" ( (string_literal "" CONSTRUCTORS\n"" " string_content escape_sequence ") ))) ;) (expression_statement "puVar2 = DAT_001859c0;" (assignment_expression "puVar2 = DAT_001859c0" identifier = identifier) ;) }) (else_clause "else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }" else (compound_statement "{\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }" { (expression_statement "FUN_00125300(" SORT (CONSTRUCTORS)\n");" (call_expression "FUN_00125300(" SORT (CONSTRUCTORS)\n")" identifier (argument_list "(" SORT (CONSTRUCTORS)\n")" ( (string_literal "" SORT (CONSTRUCTORS)\n"" " string_content escape_sequence ") ))) ;) (expression_statement "puVar2 = DAT_001859c0;" (assignment_expression "puVar2 = DAT_001859c0" identifier = identifier) ;) }))) (for_statement "for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }" for ( ; (binary_expression "puVar2 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined8 *)*puVar2" identifier = (cast_expression "(undefined8 *)*puVar2" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ) (compound_statement "{\n        FUN_001138c0(puVar2,param_2);\n      }" { (expression_statement "FUN_001138c0(puVar2,param_2);" (call_expression "FUN_001138c0(puVar2,param_2)" identifier (argument_list "(puVar2,param_2)" ( identifier , identifier ))) ;) })) })) (break_statement "break;" break ;)) (case_statement "default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;" default : (expression_statement "pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);" (assignment_expression "pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Fail with %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Fail with %d\n",5)" identifier (argument_list "(0,"Fail with %d\n",5)" ( number_literal , (string_literal ""Fail with %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);" (call_expression "fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5)" identifier (argument_list "(DAT_00185bd8,pcVar9,(ulong)uVar5)" ( identifier , identifier , (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "FUN_001252c0("../../ld/ldlang.c",0x11bc);" (call_expression "FUN_001252c0("../../ld/ldlang.c",0x11bc)" identifier (argument_list "("../../ld/ldlang.c",0x11bc)" ( (string_literal ""../../ld/ldlang.c"" " string_content ") , number_literal ))) ;) (return_statement "return;" return ;)) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , (pointer_expression & IDENT) ))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;)) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ))) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) }))) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = BOOL) , (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (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 IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression * IDENT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (switch_statement switch (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ))) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression * IDENT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ;) (return_statement return ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (return_statement return ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) })) (switch_statement switch (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , (binary_expression IDENT >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) , 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )) + IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , (binary_expression IDENT >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) ))) + IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (return_statement return ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (return_statement return ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )) + IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , LIT , LIT , IDENT ))) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , LIT , LIT , IDENT ))) ;) (return_statement return ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (return_statement return ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (for_statement for ( ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) })) (break_statement break ;)) (case_statement default : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (return_statement return ;)) })) (return_statement return ;) })))
(function_definition "void FUN_001138c0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  undefined8 *puVar2;\n  long *plVar3;\n  bool bVar4;\n  uint uVar5;\n  undefined8 uVar6;\n  size_t sVar7;\n  undefined8 uVar8;\n  char *pcVar9;\n  ulong uVar10;\n  int iVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  long lVar14;\n  long lVar15;\n  \n  uVar5 = *(uint *)(param_1 + 8);\n  switch(uVar5) {\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001138c0(long param_1,long param_2)" (identifier "FUN_001138c0") (parameter_list "(long param_1,long param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) () ")"))) (compound_statement "{\n  byte bVar1;\n  undefined8 *puVar2;\n  long *plVar3;\n  bool bVar4;\n  uint uVar5;\n  undefined8 uVar6;\n  size_t sVar7;\n  undefined8 uVar8;\n  char *pcVar9;\n  ulong uVar10;\n  int iVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  long lVar14;\n  long lVar15;\n  \n  uVar5 = *(uint *)(param_1 + 8);\n  switch(uVar5) {\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }\n  return;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "undefined8 *puVar2;" (type_identifier "undefined8") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "long *plVar3;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar3" (* "*") (identifier "plVar3")) (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "size_t sVar7;" (primitive_type "size_t") (identifier "sVar7") (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "byte *pbVar12;" (type_identifier "byte") (pointer_declarator "*pbVar12" (* "*") (identifier "pbVar12")) (; ";")) (declaration "ulong uVar13;" (type_identifier "ulong") (identifier "uVar13") (; ";")) (declaration "long lVar14;" (sized_type_specifier "long" (long "long")) (identifier "lVar14") (; ";")) (declaration "long lVar15;" (sized_type_specifier "long" (long "long")) (identifier "lVar15") (; ";")) (expression_statement "uVar5 = *(uint *)(param_1 + 8);" (assignment_expression "uVar5 = *(uint *)(param_1 + 8)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(param_1 + 8)" (* "*") (cast_expression "(uint *)(param_1 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (switch_statement "switch(uVar5) {\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }" (switch "switch") (parenthesized_expression "(uVar5)" (( "(") (identifier "uVar5") () ")")) (compound_statement "{\n  case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;\n  case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;\n  case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;\n  case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;\n  case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;\n  case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;\n  case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;\n  case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;\n  case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;\n  case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;\n  case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;\n  case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;\n  case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;\n  case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;\n  default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;\n  }" ({ "{") (case_statement "case 0:\n    if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }\n    break;" (case "case") (number_literal "0") (: ":") (if_statement "if (param_1 != DAT_00185970) {\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }" (if "if") (parenthesized_expression "(param_1 != DAT_00185970)" (( "(") (binary_expression "param_1 != DAT_00185970" (identifier "param_1") (!= "!=") (identifier "DAT_00185970")) () ")")) (compound_statement "{\n      lVar15 = *(long *)(param_1 + 0x38);\n      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));\n      if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }\n      FUN_001242a0();\n    }" ({ "{") (expression_statement "lVar15 = *(long *)(param_1 + 0x38);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x38)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));" (call_expression "FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30))" (identifier "FUN_00125300") (argument_list "(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30))" (( "(") (pointer_expression "&DAT_0013efed" (& "&") (identifier "DAT_0013efed")) (, ",") (pointer_expression "*(undefined8 *)(param_1 + 0x30)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) () ")"))) (; ";")) (if_statement "if (lVar15 != 0) {\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }" (if "if") (parenthesized_expression "(lVar15 != 0)" (( "(") (binary_expression "lVar15 != 0" (identifier "lVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_00185390 = *(long *)(lVar15 + 0x28);\n        sVar7 = strlen(*(char **)(param_1 + 0x30));\n        uVar10 = sVar7 & 0xffffffff;\n        if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }\n        do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);\n        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));\n        lVar14 = *(long *)(lVar15 + 0x30);\n        if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }\n        if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }\n      }" ({ "{") (expression_statement "DAT_00185390 = *(long *)(lVar15 + 0x28);" (assignment_expression "DAT_00185390 = *(long *)(lVar15 + 0x28)" (identifier "DAT_00185390") (= "=") (pointer_expression "*(long *)(lVar15 + 0x28)" (* "*") (cast_expression "(long *)(lVar15 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x28)" (( "(") (binary_expression "lVar15 + 0x28" (identifier "lVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "sVar7 = strlen(*(char **)(param_1 + 0x30));" (assignment_expression "sVar7 = strlen(*(char **)(param_1 + 0x30))" (identifier "sVar7") (= "=") (call_expression "strlen(*(char **)(param_1 + 0x30))" (identifier "strlen") (argument_list "(*(char **)(param_1 + 0x30))" (( "(") (pointer_expression "*(char **)(param_1 + 0x30)" (* "*") (cast_expression "(char **)(param_1 + 0x30)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar10 = sVar7 & 0xffffffff;" (assignment_expression "uVar10 = sVar7 & 0xffffffff" (identifier "uVar10") (= "=") (binary_expression "sVar7 & 0xffffffff" (identifier "sVar7") (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (0xe < (int)sVar7) {\n          FUN_001242a0();\n          uVar10 = 0;\n        }" (if "if") (parenthesized_expression "(0xe < (int)sVar7)" (( "(") (binary_expression "0xe < (int)sVar7" (number_literal "0xe") (< "<") (cast_expression "(int)sVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar7"))) () ")")) (compound_statement "{\n          FUN_001242a0();\n          uVar10 = 0;\n        }" ({ "{") (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" (identifier "FUN_001242a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (} "}"))) (do_statement "do {\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        } while (uVar5 != 0x10);" (do "do") (compound_statement "{\n          FUN_00124280();\n          uVar5 = (int)uVar10 + 1;\n          uVar10 = (ulong)uVar5;\n        }" ({ "{") (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" (identifier "FUN_00124280") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar5 = (int)uVar10 + 1;" (assignment_expression "uVar5 = (int)uVar10 + 1" (identifier "uVar5") (= "=") (binary_expression "(int)uVar10 + 1" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = (ulong)uVar5;" (assignment_expression "uVar10 = (ulong)uVar5" (identifier "uVar10") (= "=") (cast_expression "(ulong)uVar5" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar5"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar5 != 0x10)" (( "(") (binary_expression "uVar5 != 0x10" (identifier "uVar5") (!= "!=") (number_literal "0x10")) () ")")) (; ";")) (expression_statement "FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));" (call_expression "FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f))" (identifier "FUN_00125300") (argument_list "("0x%V %W",*(undefined8 *)(lVar15 + 0x28),\n                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f))" (( "(") (string_literal ""0x%V %W"" (" """) (string_content "0x%V %W") (" """)) (, ",") (pointer_expression "*(undefined8 *)(lVar15 + 0x28)" (* "*") (cast_expression "(undefined8 *)(lVar15 + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x28)" (( "(") (binary_expression "lVar15 + 0x28" (identifier "lVar15") (+ "+") (number_literal "0x28")) () ")")))) (, ",") (binary_expression "*(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f)" (pointer_expression "*(ulong *)(lVar15 + 0x38)" (* "*") (cast_expression "(ulong *)(lVar15 + 0x38)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x38)" (( "(") (binary_expression "lVar15 + 0x38" (identifier "lVar15") (+ "+") (number_literal "0x38")) () ")")))) (>> ">>") (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" (( "(") (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_00185308")) (& "&") (number_literal "0x3f")) () ")"))) () ")"))) (; ";")) (expression_statement "lVar14 = *(long *)(lVar15 + 0x30);" (assignment_expression "lVar14 = *(long *)(lVar15 + 0x30)" (identifier "lVar14") (= "=") (pointer_expression "*(long *)(lVar15 + 0x30)" (* "*") (cast_expression "(long *)(lVar15 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x30)" (( "(") (binary_expression "lVar15 + 0x30" (identifier "lVar15") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (*(long *)(lVar15 + 0x28) != lVar14) {\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }" (if "if") (parenthesized_expression "(*(long *)(lVar15 + 0x28) != lVar14)" (( "(") (binary_expression "*(long *)(lVar15 + 0x28) != lVar14" (pointer_expression "*(long *)(lVar15 + 0x28)" (* "*") (cast_expression "(long *)(lVar15 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x28)" (( "(") (binary_expression "lVar15 + 0x28" (identifier "lVar15") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (identifier "lVar14")) () ")")) (compound_statement "{\n          uVar8 = dcgettext(0," load address 0x%V",5);\n          FUN_00125300(uVar8,lVar14);\n        }" ({ "{") (expression_statement "uVar8 = dcgettext(0," load address 0x%V",5);" (assignment_expression "uVar8 = dcgettext(0," load address 0x%V",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0," load address 0x%V",5)" (identifier "dcgettext") (argument_list "(0," load address 0x%V",5)" (( "(") (number_literal "0") (, ",") (string_literal "" load address 0x%V"" (" """) (string_content " load address 0x%V") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00125300(uVar8,lVar14);" (call_expression "FUN_00125300(uVar8,lVar14)" (identifier "FUN_00125300") (argument_list "(uVar8,lVar14)" (( "(") (identifier "uVar8") (, ",") (identifier "lVar14") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_1 + 0x68) != 0) {\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x68) != 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x68) != 0" (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);\n        }" ({ "{") (expression_statement "FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);" (call_expression "FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390)" (identifier "FUN_00123130") (argument_list "(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390)" (( "(") (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (, ",") (number_literal "0x184c90") (, ",") (pointer_expression "&DAT_00185390" (& "&") (identifier "DAT_00185390")) () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" (identifier "FUN_001242a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (for_statement "for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_1);\n    }" (for "for") (( "(") (assignment_expression "puVar2 = *(undefined8 **)(param_1 + 0x10)" (identifier "puVar2") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";") (binary_expression "puVar2 != (undefined8 *)0x0" (identifier "puVar2") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar2 = (undefined8 *)*puVar2" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)*puVar2" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")))) () ")") (compound_statement "{\n      FUN_001138c0(puVar2,param_1);\n    }" ({ "{") (expression_statement "FUN_001138c0(puVar2,param_1);" (call_expression "FUN_001138c0(puVar2,param_1)" (identifier "FUN_001138c0") (argument_list "(puVar2,param_1)" (( "(") (identifier "puVar2") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    lVar14 = *(long *)(param_2 + 0x38);\n    pcVar9 = *(char **)(lVar15 + 0x18);\n    if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }\n    DAT_00185c50 = (char *)0x0;\n    FUN_00125300(&DAT_0013f036);\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\nLAB_001139f8:\n    FUN_00123490(uVar8);\n    FUN_001242a0();\n    return;" (case "case") (number_literal "1") (: ":") (expression_statement "iVar11 = 0x10;" (assignment_expression "iVar11 = 0x10" (identifier "iVar11") (= "=") (number_literal "0x10")) (; ";")) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" (do "do") (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" ({ "{") (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" (identifier "FUN_00124280") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "lVar14 = *(long *)(param_2 + 0x38);" (assignment_expression "lVar14 = *(long *)(param_2 + 0x38)" (identifier "lVar14") (= "=") (pointer_expression "*(long *)(param_2 + 0x38)" (* "*") (cast_expression "(long *)(param_2 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x38)" (( "(") (binary_expression "param_2 + 0x38" (identifier "param_2") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "pcVar9 = *(char **)(lVar15 + 0x18);" (assignment_expression "pcVar9 = *(char **)(lVar15 + 0x18)" (identifier "pcVar9") (= "=") (pointer_expression "*(char **)(lVar15 + 0x18)" (* "*") (cast_expression "(char **)(lVar15 + 0x18)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar15 + 0x18)" (( "(") (binary_expression "lVar15 + 0x18" (identifier "lVar15") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (*(int *)(lVar15 + 0x10) == 8) {\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }\n    else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }" (if "if") (parenthesized_expression "(*(int *)(lVar15 + 0x10) == 8)" (( "(") (binary_expression "*(int *)(lVar15 + 0x10) == 8" (pointer_expression "*(int *)(lVar15 + 0x10)" (* "*") (cast_expression "(int *)(lVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x10)" (( "(") (binary_expression "lVar15 + 0x10" (identifier "lVar15") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "8")) () ")")) (compound_statement "{\n      bVar4 = false;\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\nLAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);\n      lVar14 = DAT_00185c60;\n      lVar15 = *(long *)(param_1 + 0x10);\n      if (DAT_00185c78 == 0) goto LAB_00113952;\n      if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }\n    }" ({ "{") (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (if_statement "if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }" (if "if") (parenthesized_expression "(lVar14 == 0)" (( "(") (binary_expression "lVar14 == 0" (identifier "lVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        lVar14 = 0x184c90;\n      }" ({ "{") (expression_statement "lVar14 = 0x184c90;" (assignment_expression "lVar14 = 0x184c90" (identifier "lVar14") (= "=") (number_literal "0x184c90")) (; ";")) (} "}"))) (labeled_statement "LAB_001141b0:\n      FUN_00123130(pcVar9,lVar14,&DAT_00185390);" (statement_identifier "LAB_001141b0") (: ":") (expression_statement "FUN_00123130(pcVar9,lVar14,&DAT_00185390);" (call_expression "FUN_00123130(pcVar9,lVar14,&DAT_00185390)" (identifier "FUN_00123130") (argument_list "(pcVar9,lVar14,&DAT_00185390)" (( "(") (identifier "pcVar9") (, ",") (identifier "lVar14") (, ",") (pointer_expression "&DAT_00185390" (& "&") (identifier "DAT_00185390")) () ")"))) (; ";"))) (expression_statement "lVar14 = DAT_00185c60;" (assignment_expression "lVar14 = DAT_00185c60" (identifier "lVar14") (= "=") (identifier "DAT_00185c60")) (; ";")) (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (DAT_00185c78 == 0) goto LAB_00113952;" (if "if") (parenthesized_expression "(DAT_00185c78 == 0)" (( "(") (binary_expression "DAT_00185c78 == 0" (identifier "DAT_00185c78") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00113952;" (goto "goto") (statement_identifier "LAB_00113952") (; ";"))) (if_statement "if (*(int *)(lVar15 + 0x10) == 8) {\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }\n      else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)(lVar15 + 0x10) == 8)" (( "(") (binary_expression "*(int *)(lVar15 + 0x10) == 8" (pointer_expression "*(int *)(lVar15 + 0x10)" (* "*") (cast_expression "(int *)(lVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x10)" (( "(") (binary_expression "lVar15 + 0x10" (identifier "lVar15") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "8")) () ")")) (compound_statement "{\n        if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }\n        FUN_00125300("0x%V",lVar14);\n        if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }\n      }" ({ "{") (if_statement "if (DAT_00185c70 != 0) {\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }" (if "if") (parenthesized_expression "(DAT_00185c70 != 0)" (( "(") (binary_expression "DAT_00185c70 != 0" (identifier "DAT_00185c70") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);\n        }" ({ "{") (labeled_statement "LAB_00114205:\n          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);" (statement_identifier "LAB_00114205") (: ":") (expression_statement "lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);" (assignment_expression "lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28)" (identifier "lVar14") (= "=") (binary_expression "DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28)" (identifier "DAT_00185c60") (+ "+") (pointer_expression "*(long *)(DAT_00185c70 + 0x28)" (* "*") (cast_expression "(long *)(DAT_00185c70 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00185c70 + 0x28)" (( "(") (binary_expression "DAT_00185c70 + 0x28" (identifier "DAT_00185c70") (+ "+") (number_literal "0x28")) () ")")))))) (; ";"))) (} "}"))) (expression_statement "FUN_00125300("0x%V",lVar14);" (call_expression "FUN_00125300("0x%V",lVar14)" (identifier "FUN_00125300") (argument_list "("0x%V",lVar14)" (( "(") (string_literal ""0x%V"" (" """) (string_content "0x%V") (" """)) (, ",") (identifier "lVar14") () ")"))) (; ";")) (if_statement "if (bVar4) {\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }" (if "if") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")")) (compound_statement "{\nLAB_00114222:\n          DAT_00185390 = lVar14;\n        }" ({ "{") (labeled_statement "LAB_00114222:\n          DAT_00185390 = lVar14;" (statement_identifier "LAB_00114222") (: ":") (expression_statement "DAT_00185390 = lVar14;" (assignment_expression "DAT_00185390 = lVar14" (identifier "DAT_00185390") (= "=") (identifier "lVar14")) (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }" (else "else") (compound_statement "{\n        if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }\n        if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }\n      }" ({ "{") (if_statement "if (bVar4) {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }" (if "if") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")")) (compound_statement "{\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n          goto LAB_00114222;\n        }" ({ "{") (if_statement "if (DAT_00185c70 != 0) goto LAB_00114205;" (if "if") (parenthesized_expression "(DAT_00185c70 != 0)" (( "(") (binary_expression "DAT_00185c70 != 0" (identifier "DAT_00185c70") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00114205;" (goto "goto") (statement_identifier "LAB_00114205") (; ";"))) (expression_statement "FUN_00125300("0x%V",DAT_00185c60);" (call_expression "FUN_00125300("0x%V",DAT_00185c60)" (identifier "FUN_00125300") (argument_list "("0x%V",DAT_00185c60)" (( "(") (string_literal ""0x%V"" (" """) (string_content "0x%V") (" """)) (, ",") (identifier "DAT_00185c60") () ")"))) (; ";")) (goto_statement "goto LAB_00114222;" (goto "goto") (statement_identifier "LAB_00114222") (; ";")) (} "}"))) (if_statement "if (DAT_00185c50 == (char *)0x0) {\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }\n        else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }" (if "if") (parenthesized_expression "(DAT_00185c50 == (char *)0x0)" (( "(") (binary_expression "DAT_00185c50 == (char *)0x0" (identifier "DAT_00185c50") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);\n          if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }\n        }" ({ "{") (expression_statement "lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);" (assignment_expression "lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1)" (identifier "lVar15") (= "=") (call_expression "bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1)" (identifier "bfd_link_hash_lookup") (argument_list "(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1)" (( "(") (identifier "DAT_00185a28") (, ",") (pointer_expression "*(undefined8 *)(lVar15 + 0x18)" (* "*") (cast_expression "(undefined8 *)(lVar15 + 0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x18)" (( "(") (binary_expression "lVar15 + 0x18" (identifier "lVar15") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (lVar15 == 0) {\n            FUN_00125300("[unresolved]");\n          }\n          else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            FUN_00125300("[unresolved]");\n          }" ({ "{") (expression_statement "FUN_00125300("[unresolved]");" (call_expression "FUN_00125300("[unresolved]")" (identifier "FUN_00125300") (argument_list "("[unresolved]")" (( "(") (string_literal ""[unresolved]"" (" """) (string_content "[unresolved]") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }" (else "else") (compound_statement "{\n            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));\n          }" ({ "{") (expression_statement "FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));" (call_expression "FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28))" (identifier "FUN_00125300") (argument_list "("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28))" (( "(") (string_literal ""[0x%V]"" (" """) (string_content "[0x%V]") (" """)) (, ",") (binary_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30) +\n                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" (binary_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +\n                                  *(long *)(lVar15 + 0x30)" (pointer_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x60)" (* "*") (cast_expression "(long *)(*(long *)(lVar15 + 0x28) + 0x60)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(lVar15 + 0x28) + 0x60)" (( "(") (binary_expression "*(long *)(lVar15 + 0x28) + 0x60" (pointer_expression "*(long *)(lVar15 + 0x28)" (* "*") (cast_expression "(long *)(lVar15 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x28)" (( "(") (binary_expression "lVar15 + 0x28" (identifier "lVar15") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x60")) () ")")))) (+ "+") (pointer_expression "*(long *)(lVar15 + 0x30)" (* "*") (cast_expression "(long *)(lVar15 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x30)" (( "(") (binary_expression "lVar15 + 0x30" (identifier "lVar15") (+ "+") (number_literal "0x30")) () ")"))))) (+ "+") (pointer_expression "*(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" (* "*") (cast_expression "(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28)" (( "(") (binary_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28" (pointer_expression "*(long *)(*(long *)(lVar15 + 0x28) + 0x68)" (* "*") (cast_expression "(long *)(*(long *)(lVar15 + 0x28) + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(lVar15 + 0x28) + 0x68)" (( "(") (binary_expression "*(long *)(lVar15 + 0x28) + 0x68" (pointer_expression "*(long *)(lVar15 + 0x28)" (* "*") (cast_expression "(long *)(lVar15 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x28)" (( "(") (binary_expression "lVar15 + 0x28" (identifier "lVar15") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x68")) () ")")))) (+ "+") (number_literal "0x28")) () ")"))))) () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }" (else "else") (compound_statement "{\n          if (DAT_00185c70 != 0) goto LAB_00114205;\n          FUN_00125300("0x%V",DAT_00185c60);\n        }" ({ "{") (if_statement "if (DAT_00185c70 != 0) goto LAB_00114205;" (if "if") (parenthesized_expression "(DAT_00185c70 != 0)" (( "(") (binary_expression "DAT_00185c70 != 0" (identifier "DAT_00185c70") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00114205;" (goto "goto") (statement_identifier "LAB_00114205") (; ";"))) (expression_statement "FUN_00125300("0x%V",DAT_00185c60);" (call_expression "FUN_00125300("0x%V",DAT_00185c60)" (identifier "FUN_00125300") (argument_list "("0x%V",DAT_00185c60)" (( "(") (string_literal ""0x%V"" (" """) (string_content "0x%V") (" """)) (, ",") (identifier "DAT_00185c60") () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }" (else "else") (compound_statement "{\n      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }\n      pcVar9 = *(char **)(lVar15 + 0x20);\n      if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }\n      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;\n      DAT_00185c78 = 0;\nLAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }\n      FUN_00125300(&DAT_0013f03e);\n    }" ({ "{") (if_statement "if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }" (if "if") (parenthesized_expression "((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0'))" (( "(") (binary_expression "(*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')" (parenthesized_expression "(*pcVar9 != '.')" (( "(") (binary_expression "*pcVar9 != '.'" (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) (!= "!=") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(bVar4 = true, pcVar9[1] != '\0')" (( "(") (comma_expression "bVar4 = true, pcVar9[1] != '\0'" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (, ",") (binary_expression "pcVar9[1] != '\0'" (subscript_expression "pcVar9[1]" (identifier "pcVar9") ([ "[") (number_literal "1") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n        bVar4 = false;\n        DAT_00185c50 = pcVar9;\n      }" ({ "{") (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (expression_statement "DAT_00185c50 = pcVar9;" (assignment_expression "DAT_00185c50 = pcVar9" (identifier "DAT_00185c50") (= "=") (identifier "pcVar9")) (; ";")) (} "}"))) (expression_statement "pcVar9 = *(char **)(lVar15 + 0x20);" (assignment_expression "pcVar9 = *(char **)(lVar15 + 0x20)" (identifier "pcVar9") (= "=") (pointer_expression "*(char **)(lVar15 + 0x20)" (* "*") (cast_expression "(char **)(lVar15 + 0x20)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar15 + 0x20)" (( "(") (binary_expression "lVar15 + 0x20" (identifier "lVar15") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (lVar14 == 0) {\n        lVar14 = 0x184c90;\n      }" (if "if") (parenthesized_expression "(lVar14 == 0)" (( "(") (binary_expression "lVar14 == 0" (identifier "lVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        lVar14 = 0x184c90;\n      }" ({ "{") (expression_statement "lVar14 = 0x184c90;" (assignment_expression "lVar14 = 0x184c90" (identifier "lVar14") (= "=") (number_literal "0x184c90")) (; ";")) (} "}"))) (if_statement "if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;" (if "if") (parenthesized_expression "(*(int *)(lVar15 + 0x10) != 5)" (( "(") (binary_expression "*(int *)(lVar15 + 0x10) != 5" (pointer_expression "*(int *)(lVar15 + 0x10)" (* "*") (cast_expression "(int *)(lVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x10)" (( "(") (binary_expression "lVar15 + 0x10" (identifier "lVar15") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "5")) () ")")) (goto_statement "goto LAB_001141b0;" (goto "goto") (statement_identifier "LAB_001141b0") (; ";"))) (expression_statement "DAT_00185c78 = 0;" (assignment_expression "DAT_00185c78 = 0" (identifier "DAT_00185c78") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00113952:\n      if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }" (statement_identifier "LAB_00113952") (: ":") (if_statement "if (*(int *)(lVar15 + 0x10) == 5) {\n        FUN_00125300("[!provide]");\n      }\n      else {\n        FUN_00125300("*undef*   ");\n      }" (if "if") (parenthesized_expression "(*(int *)(lVar15 + 0x10) == 5)" (( "(") (binary_expression "*(int *)(lVar15 + 0x10) == 5" (pointer_expression "*(int *)(lVar15 + 0x10)" (* "*") (cast_expression "(int *)(lVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x10)" (( "(") (binary_expression "lVar15 + 0x10" (identifier "lVar15") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "5")) () ")")) (compound_statement "{\n        FUN_00125300("[!provide]");\n      }" ({ "{") (expression_statement "FUN_00125300("[!provide]");" (call_expression "FUN_00125300("[!provide]")" (identifier "FUN_00125300") (argument_list "("[!provide]")" (( "(") (string_literal ""[!provide]"" (" """) (string_content "[!provide]") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        FUN_00125300("*undef*   ");\n      }" (else "else") (compound_statement "{\n        FUN_00125300("*undef*   ");\n      }" ({ "{") (expression_statement "FUN_00125300("*undef*   ");" (call_expression "FUN_00125300("*undef*   ")" (identifier "FUN_00125300") (argument_list "("*undef*   ")" (( "(") (string_literal ""*undef*   "" (" """) (string_content "*undef*   ") (" """)) () ")"))) (; ";")) (} "}"))))) (expression_statement "FUN_00125300(&DAT_0013f03e);" (call_expression "FUN_00125300(&DAT_0013f03e)" (identifier "FUN_00125300") (argument_list "(&DAT_0013f03e)" (( "(") (pointer_expression "&DAT_0013f03e" (& "&") (identifier "DAT_0013f03e")) () ")"))) (; ";")) (} "}")))) (expression_statement "DAT_00185c50 = (char *)0x0;" (assignment_expression "DAT_00185c50 = (char *)0x0" (identifier "DAT_00185c50") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_00125300(&DAT_0013f036);" (call_expression "FUN_00125300(&DAT_0013f036)" (identifier "FUN_00125300") (argument_list "(&DAT_0013f036)" (( "(") (pointer_expression "&DAT_0013f036" (& "&") (identifier "DAT_0013f036")) () ")"))) (; ";")) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x10)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (labeled_statement "LAB_001139f8:\n    FUN_00123490(uVar8);" (statement_identifier "LAB_001139f8") (: ":") (expression_statement "FUN_00123490(uVar8);" (call_expression "FUN_00123490(uVar8)" (identifier "FUN_00123490") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";"))) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" (identifier "FUN_001242a0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "case 2:\n    lVar15 = *(long *)(param_1 + 0x10);\n    if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }\n    break;" (case "case") (number_literal "2") (: ":") (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )) {\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }" (if "if") (parenthesized_expression "((lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       ))" (( "(") (binary_expression "(lVar15 != 0) &&\n       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )" (parenthesized_expression "(lVar15 != 0)" (( "(") (binary_expression "lVar15 != 0" (identifier "lVar15") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))\n       )" (( "(") (parenthesized_expression "(*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))" (( "(") (binary_expression "*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0)" (binary_expression "*(long *)(param_1 + 0x20) == 0" (pointer_expression "*(long *)(param_1 + 0x20)" (* "*") (cast_expression "(long *)(param_1 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0" (parenthesized_expression "(*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2)" (( "(") (binary_expression "*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2" (pointer_expression "*(byte *)(*(long *)(param_1 + 0x20) + 0x46)" (* "*") (cast_expression "(byte *)(*(long *)(param_1 + 0x20) + 0x46)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x20) + 0x46)" (( "(") (binary_expression "*(long *)(param_1 + 0x20) + 0x46" (pointer_expression "*(long *)(param_1 + 0x20)" (* "*") (cast_expression "(long *)(param_1 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0x46")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      pcVar9 = "LOAD %s\n";\n      goto LAB_00113cab;\n    }" ({ "{") (expression_statement "pcVar9 = "LOAD %s\n";" (assignment_expression "pcVar9 = "LOAD %s\n"" (identifier "pcVar9") (= "=") (string_literal ""LOAD %s\n"" (" """) (string_content "LOAD %s") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00113cab;" (goto "goto") (statement_identifier "LAB_00113cab") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n    uVar8 = *(undefined8 *)(param_1 + 0x10);\n    uVar6 = dcgettext(0,"Address of section %s set to ",5);\n    FUN_00125300(uVar6,uVar8);\n    uVar8 = *(undefined8 *)(param_1 + 0x18);\n    goto LAB_001139f8;" (case "case") (number_literal "3") (: ":") (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x10)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar6 = dcgettext(0,"Address of section %s set to ",5);" (assignment_expression "uVar6 = dcgettext(0,"Address of section %s set to ",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"Address of section %s set to ",5)" (identifier "dcgettext") (argument_list "(0,"Address of section %s set to ",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Address of section %s set to "" (" """) (string_content "Address of section %s set to ") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00125300(uVar6,uVar8);" (call_expression "FUN_00125300(uVar6,uVar8)" (identifier "FUN_00125300") (argument_list "(uVar6,uVar8)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x18);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x18)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x18)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (goto_statement "goto LAB_001139f8;" (goto "goto") (statement_identifier "LAB_001139f8") (; ";"))) (case_statement "case 4:\n    FUN_00124280();\n    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }\n    if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }\n    if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }\n    FUN_00125300("(");\n    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }\n    FUN_00125300(")");\n    FUN_001242a0();\n    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    break;" (case "case") (number_literal "4") (: ":") (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" (identifier "FUN_00124280") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }" (if "if") (parenthesized_expression "(*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0)" (( "(") (binary_expression "*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0" (pointer_expression "*(undefined8 **)(param_1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));\n      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }\n      FUN_00125300(&DAT_0013ef27);\n    }" ({ "{") (expression_statement "FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));" (call_expression "FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40))" (identifier "FUN_00125300") (argument_list "("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40))" (( "(") (string_literal ""EXCLUDE_FILE(%s"" (" """) (string_content "EXCLUDE_FILE(%s") (" """)) (, ",") (pointer_expression "**(undefined8 **)(param_1 + 0x40)" (* "*") (pointer_expression "*(undefined8 **)(param_1 + 0x40)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")"))))) () ")"))) (; ";")) (for_statement "for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;\n          puVar2 = (undefined8 *)puVar2[1]) {\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }" (for "for") (( "(") (assignment_expression "puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8)" (identifier "puVar2") (= "=") (pointer_expression "*(undefined8 **)(*(long *)(param_1 + 0x40) + 8)" (* "*") (cast_expression "(undefined8 **)(*(long *)(param_1 + 0x40) + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x40) + 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x40) + 8" (pointer_expression "*(long *)(param_1 + 0x40)" (* "*") (cast_expression "(long *)(param_1 + 0x40)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";") (binary_expression "puVar2 != (undefined8 *)0x0" (identifier "puVar2") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar2 = (undefined8 *)puVar2[1]" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)puVar2[1]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")))) () ")") (compound_statement "{\n        FUN_00125300(&DAT_0013d727,*puVar2);\n      }" ({ "{") (expression_statement "FUN_00125300(&DAT_0013d727,*puVar2);" (call_expression "FUN_00125300(&DAT_0013d727,*puVar2)" (identifier "FUN_00125300") (argument_list "(&DAT_0013d727,*puVar2)" (( "(") (pointer_expression "&DAT_0013d727" (& "&") (identifier "DAT_0013d727")) (, ",") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00125300(&DAT_0013ef27);" (call_expression "FUN_00125300(&DAT_0013ef27)" (identifier "FUN_00125300") (argument_list "(&DAT_0013ef27)" (( "(") (pointer_expression "&DAT_0013ef27" (& "&") (identifier "DAT_0013ef27")) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300("SORT_BY_NAME(");\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) != 0" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00125300("SORT_BY_NAME(");\n    }" ({ "{") (expression_statement "FUN_00125300("SORT_BY_NAME(");" (call_expression "FUN_00125300("SORT_BY_NAME(")" (identifier "FUN_00125300") (argument_list "("SORT_BY_NAME(")" (( "(") (string_literal ""SORT_BY_NAME("" (" """) (string_content "SORT_BY_NAME(") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_1 + 0x10) == 0) {\n      FUN_00125300(&DAT_0013f157);\n    }\n    else {\n      FUN_00125300(&DAT_0013efee);\n    }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x10) == 0" (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00125300(&DAT_0013f157);\n    }" ({ "{") (expression_statement "FUN_00125300(&DAT_0013f157);" (call_expression "FUN_00125300(&DAT_0013f157)" (identifier "FUN_00125300") (argument_list "(&DAT_0013f157)" (( "(") (pointer_expression "&DAT_0013f157" (& "&") (identifier "DAT_0013f157")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      FUN_00125300(&DAT_0013efee);\n    }" (else "else") (compound_statement "{\n      FUN_00125300(&DAT_0013efee);\n    }" ({ "{") (expression_statement "FUN_00125300(&DAT_0013efee);" (call_expression "FUN_00125300(&DAT_0013efee)" (identifier "FUN_00125300") (argument_list "(&DAT_0013efee)" (( "(") (pointer_expression "&DAT_0013efee" (& "&") (identifier "DAT_0013efee")) () ")"))) (; ";")) (} "}")))) (if_statement "if (*(int *)(param_1 + 0x18) != 0) {\n      FUN_00125300(")");\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) != 0" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00125300(")");\n    }" ({ "{") (expression_statement "FUN_00125300(")");" (call_expression "FUN_00125300(")")" (identifier "FUN_00125300") (argument_list "(")")" (( "(") (string_literal "")"" (" """) (string_content ")") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00125300("(");" (call_expression "FUN_00125300("(")" (identifier "FUN_00125300") (argument_list "("(")" (( "(") (string_literal ""("" (" """) (string_content "(") (" """)) () ")"))) (; ";")) (for_statement "for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }" (for "for") (( "(") (assignment_expression "plVar3 = *(long **)(param_1 + 0x20)" (identifier "plVar3") (= "=") (pointer_expression "*(long **)(param_1 + 0x20)" (* "*") (cast_expression "(long **)(param_1 + 0x20)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";") (binary_expression "plVar3 != (long *)0x0" (identifier "plVar3") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "plVar3 = (long *)*plVar3" (identifier "plVar3") (= "=") (cast_expression "(long *)*plVar3" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar3" (* "*") (identifier "plVar3")))) () ")") (compound_statement "{\n      switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }\n      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }\n      if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }\n      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }\n      if (*plVar3 == 0) break;\n      FUN_00125300(&DAT_0013f045);\n    }" ({ "{") (switch_statement "switch((int)plVar3[3]) {\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }" (switch "switch") (parenthesized_expression "((int)plVar3[3])" (( "(") (cast_expression "(int)plVar3[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "plVar3[3]" (identifier "plVar3") ([ "[") (number_literal "3") (] "]"))) () ")")) (compound_statement "{\n      default:\n        iVar11 = 0;\n        break;\n      case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;\n      case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;\n      case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;\n      case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;\n      case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;\n      case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");\n      }" ({ "{") (case_statement "default:\n        iVar11 = 0;\n        break;" (default "default") (: ":") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_NAME(");\n        break;" (case "case") (number_literal "1") (: ":") (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00125300("SORT_BY_NAME(");" (call_expression "FUN_00125300("SORT_BY_NAME(")" (identifier "FUN_00125300") (argument_list "("SORT_BY_NAME(")" (( "(") (string_literal ""SORT_BY_NAME("" (" """) (string_content "SORT_BY_NAME(") (" """)) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_ALIGNMENT(");\n        break;" (case "case") (number_literal "2") (: ":") (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00125300("SORT_BY_ALIGNMENT(");" (call_expression "FUN_00125300("SORT_BY_ALIGNMENT(")" (identifier "FUN_00125300") (argument_list "("SORT_BY_ALIGNMENT(")" (( "(") (string_literal ""SORT_BY_ALIGNMENT("" (" """) (string_content "SORT_BY_ALIGNMENT(") (" """)) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");\n        break;" (case "case") (number_literal "3") (: ":") (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" (identifier "iVar11") (= "=") (number_literal "2")) (; ";")) (expression_statement "FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");" (call_expression "FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(")" (identifier "FUN_00125300") (argument_list "("SORT_BY_NAME(SORT_BY_ALIGNMENT(")" (( "(") (string_literal ""SORT_BY_NAME(SORT_BY_ALIGNMENT("" (" """) (string_content "SORT_BY_NAME(SORT_BY_ALIGNMENT(") (" """)) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n        iVar11 = 2;\n        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");\n        break;" (case "case") (number_literal "4") (: ":") (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" (identifier "iVar11") (= "=") (number_literal "2")) (; ";")) (expression_statement "FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");" (call_expression "FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(")" (identifier "FUN_00125300") (argument_list "("SORT_BY_ALIGNMENT(SORT_BY_NAME(")" (( "(") (string_literal ""SORT_BY_ALIGNMENT(SORT_BY_NAME("" (" """) (string_content "SORT_BY_ALIGNMENT(SORT_BY_NAME(") (" """)) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n        iVar11 = 1;\n        FUN_00125300("SORT_NONE(");\n        break;" (case "case") (number_literal "5") (: ":") (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00125300("SORT_NONE(");" (call_expression "FUN_00125300("SORT_NONE(")" (identifier "FUN_00125300") (argument_list "("SORT_NONE(")" (( "(") (string_literal ""SORT_NONE("" (" """) (string_content "SORT_NONE(") (" """)) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n        iVar11 = 1;\n        FUN_00125300("SORT_BY_INIT_PRIORITY(");" (case "case") (number_literal "6") (: ":") (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00125300("SORT_BY_INIT_PRIORITY(");" (call_expression "FUN_00125300("SORT_BY_INIT_PRIORITY(")" (identifier "FUN_00125300") (argument_list "("SORT_BY_INIT_PRIORITY(")" (( "(") (string_literal ""SORT_BY_INIT_PRIORITY("" (" """) (string_content "SORT_BY_INIT_PRIORITY(") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }" (if "if") (parenthesized_expression "((undefined8 *)plVar3[2] != (undefined8 *)0x0)" (( "(") (binary_expression "(undefined8 *)plVar3[2] != (undefined8 *)0x0" (cast_expression "(undefined8 *)plVar3[2]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar3[2]" (identifier "plVar3") ([ "[") (number_literal "2") (] "]"))) (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);\n        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }\n        FUN_00125300(&DAT_0013ef27);\n      }" ({ "{") (expression_statement "FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);" (call_expression "FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2])" (identifier "FUN_00125300") (argument_list "("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2])" (( "(") (string_literal ""EXCLUDE_FILE(%s"" (" """) (string_content "EXCLUDE_FILE(%s") (" """)) (, ",") (pointer_expression "*(undefined8 *)plVar3[2]" (* "*") (cast_expression "(undefined8 *)plVar3[2]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar3[2]" (identifier "plVar3") ([ "[") (number_literal "2") (] "]")))) () ")"))) (; ";")) (for_statement "for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;\n            puVar2 = (undefined8 *)puVar2[1]) {\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }" (for "for") (( "(") (assignment_expression "puVar2 = *(undefined8 **)(plVar3[2] + 8)" (identifier "puVar2") (= "=") (pointer_expression "*(undefined8 **)(plVar3[2] + 8)" (* "*") (cast_expression "(undefined8 **)(plVar3[2] + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(plVar3[2] + 8)" (( "(") (binary_expression "plVar3[2] + 8" (subscript_expression "plVar3[2]" (identifier "plVar3") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "8")) () ")"))))) (; ";") (binary_expression "puVar2 != (undefined8 *)0x0" (identifier "puVar2") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar2 = (undefined8 *)puVar2[1]" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)puVar2[1]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")))) () ")") (compound_statement "{\n          FUN_00125300(&DAT_0013d727,*puVar2);\n        }" ({ "{") (expression_statement "FUN_00125300(&DAT_0013d727,*puVar2);" (call_expression "FUN_00125300(&DAT_0013d727,*puVar2)" (identifier "FUN_00125300") (argument_list "(&DAT_0013d727,*puVar2)" (( "(") (pointer_expression "&DAT_0013d727" (& "&") (identifier "DAT_0013d727")) (, ",") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00125300(&DAT_0013ef27);" (call_expression "FUN_00125300(&DAT_0013ef27)" (identifier "FUN_00125300") (argument_list "(&DAT_0013ef27)" (( "(") (pointer_expression "&DAT_0013ef27" (& "&") (identifier "DAT_0013ef27")) () ")"))) (; ";")) (} "}"))) (if_statement "if (plVar3[1] == 0) {\n        FUN_00125300(&DAT_0013f157);\n      }\n      else {\n        FUN_00125300(&DAT_0013efee);\n      }" (if "if") (parenthesized_expression "(plVar3[1] == 0)" (( "(") (binary_expression "plVar3[1] == 0" (subscript_expression "plVar3[1]" (identifier "plVar3") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_00125300(&DAT_0013f157);\n      }" ({ "{") (expression_statement "FUN_00125300(&DAT_0013f157);" (call_expression "FUN_00125300(&DAT_0013f157)" (identifier "FUN_00125300") (argument_list "(&DAT_0013f157)" (( "(") (pointer_expression "&DAT_0013f157" (& "&") (identifier "DAT_0013f157")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        FUN_00125300(&DAT_0013efee);\n      }" (else "else") (compound_statement "{\n        FUN_00125300(&DAT_0013efee);\n      }" ({ "{") (expression_statement "FUN_00125300(&DAT_0013efee);" (call_expression "FUN_00125300(&DAT_0013efee)" (identifier "FUN_00125300") (argument_list "(&DAT_0013efee)" (( "(") (pointer_expression "&DAT_0013efee" (& "&") (identifier "DAT_0013efee")) () ")"))) (; ";")) (} "}")))) (if_statement "if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {\n        FUN_00125300(")");\n      }" (if "if") (parenthesized_expression "((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1))" (( "(") (binary_expression "(iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)" (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(FUN_00125300(")"), iVar11 != 1)" (( "(") (comma_expression "FUN_00125300(")"), iVar11 != 1" (call_expression "FUN_00125300(")")" (identifier "FUN_00125300") (argument_list "(")")" (( "(") (string_literal "")"" (" """) (string_content ")") (" """)) () ")"))) (, ",") (binary_expression "iVar11 != 1" (identifier "iVar11") (!= "!=") (number_literal "1"))) () ")"))) () ")")) (compound_statement "{\n        FUN_00125300(")");\n      }" ({ "{") (expression_statement "FUN_00125300(")");" (call_expression "FUN_00125300(")")" (identifier "FUN_00125300") (argument_list "(")")" (( "(") (string_literal "")"" (" """) (string_content ")") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*plVar3 == 0) break;" (if "if") (parenthesized_expression "(*plVar3 == 0)" (( "(") (binary_expression "*plVar3 == 0" (pointer_expression "*plVar3" (* "*") (identifier "plVar3")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "FUN_00125300(&DAT_0013f045);" (call_expression "FUN_00125300(&DAT_0013f045)" (identifier "FUN_00125300") (argument_list "(&DAT_0013f045)" (( "(") (pointer_expression "&DAT_0013f045" (& "&") (identifier "DAT_0013f045")) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00125300(")");" (call_expression "FUN_00125300(")")" (identifier "FUN_00125300") (argument_list "(")")" (( "(") (string_literal "")"" (" """) (string_content ")") (" """)) () ")"))) (; ";")) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" (identifier "FUN_001242a0") (argument_list "()" (( "(") () ")"))) (; ";")) (for_statement "for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }" (for "for") (( "(") (assignment_expression "puVar2 = *(undefined8 **)(param_1 + 0x30)" (identifier "puVar2") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x30)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x30)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";") (binary_expression "puVar2 != (undefined8 *)0x0" (identifier "puVar2") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar2 = (undefined8 *)*puVar2" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)*puVar2" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")))) () ")") (compound_statement "{\n      FUN_001138c0(puVar2,param_2);\n    }" ({ "{") (expression_statement "FUN_001138c0(puVar2,param_2);" (call_expression "FUN_001138c0(puVar2,param_2)" (identifier "FUN_001138c0") (argument_list "(puVar2,param_2)" (( "(") (identifier "puVar2") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);\n    return;" (case "case") (number_literal "5") (: ":") (expression_statement "FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);" (call_expression "FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0)" (identifier "FUN_001135c0") (argument_list "(*(undefined8 *)(param_1 + 0x10),0)" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (number_literal "0") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "case 6:\n    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";\n    goto LAB_00113bd7;" (case "case") (number_literal "6") (: ":") (expression_statement "pcVar9 = " CREATE_OBJECT_SYMBOLS\n";" (assignment_expression "pcVar9 = " CREATE_OBJECT_SYMBOLS\n"" (identifier "pcVar9") (= "=") (string_literal "" CREATE_OBJECT_SYMBOLS\n"" (" """) (string_content " CREATE_OBJECT_SYMBOLS") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00113bd7;" (goto "goto") (statement_identifier "LAB_00113bd7") (; ";"))) (case_statement "case 7:\n    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);\n    plVar3 = *(long **)(param_1 + 0x10);\n    lVar15 = *plVar3;\n    pbVar12 = (byte *)(plVar3 + 1);\n    if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }\n    fputc(10,DAT_00185bd8);\n    return;" (case "case") (number_literal "7") (: ":") (expression_statement "fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);" (call_expression "fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8)" (identifier "fwrite") (argument_list "(" FILL mask 0x",1,0xd,DAT_00185bd8)" (( "(") (string_literal "" FILL mask 0x"" (" """) (string_content " FILL mask 0x") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "0xd") (, ",") (identifier "DAT_00185bd8") () ")"))) (; ";")) (expression_statement "plVar3 = *(long **)(param_1 + 0x10);" (assignment_expression "plVar3 = *(long **)(param_1 + 0x10)" (identifier "plVar3") (= "=") (pointer_expression "*(long **)(param_1 + 0x10)" (* "*") (cast_expression "(long **)(param_1 + 0x10)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "lVar15 = *plVar3;" (assignment_expression "lVar15 = *plVar3" (identifier "lVar15") (= "=") (pointer_expression "*plVar3" (* "*") (identifier "plVar3"))) (; ";")) (expression_statement "pbVar12 = (byte *)(plVar3 + 1);" (assignment_expression "pbVar12 = (byte *)(plVar3 + 1)" (identifier "pbVar12") (= "=") (cast_expression "(byte *)(plVar3 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar3 + 1)" (( "(") (binary_expression "plVar3 + 1" (identifier "plVar3") (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (lVar15 != 0) {\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }" (if "if") (parenthesized_expression "(lVar15 != 0)" (( "(") (binary_expression "lVar15 != 0" (identifier "lVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));\n    }" ({ "{") (do_statement "do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));" (do "do") (compound_statement "{\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      }" ({ "{") (expression_statement "bVar1 = *pbVar12;" (assignment_expression "bVar1 = *pbVar12" (identifier "bVar1") (= "=") (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12"))) (; ";")) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 1" (identifier "pbVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);" (call_expression "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1)" (identifier "fprintf") (argument_list "(DAT_00185bd8,"%02x",(ulong)bVar1)" (( "(") (identifier "DAT_00185bd8") (, ",") (string_literal ""%02x"" (" """) (string_content "%02x") (" """)) (, ",") (cast_expression "(ulong)bVar1" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar1")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar12 != (byte *)((long)plVar3 + lVar15 + 8))" (( "(") (binary_expression "pbVar12 != (byte *)((long)plVar3 + lVar15 + 8)" (identifier "pbVar12") (!= "!=") (cast_expression "(byte *)((long)plVar3 + lVar15 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar3 + lVar15 + 8)" (( "(") (binary_expression "(long)plVar3 + lVar15 + 8" (binary_expression "(long)plVar3 + lVar15" (cast_expression "(long)plVar3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar3")) (+ "+") (identifier "lVar15")) (+ "+") (number_literal "8")) () ")")))) () ")")) (; ";")) (} "}"))) (expression_statement "fputc(10,DAT_00185bd8);" (call_expression "fputc(10,DAT_00185bd8)" (identifier "fputc") (argument_list "(10,DAT_00185bd8)" (( "(") (number_literal "10") (, ",") (identifier "DAT_00185bd8") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "case 8:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x30);\n    if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }\n    switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }\n    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));\n    if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }\n    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));\n    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;" (case "case") (number_literal "8") (: ":") (expression_statement "FUN_00113550();" (call_expression "FUN_00113550()" (identifier "FUN_00113550") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar11 = 0x10;" (assignment_expression "iVar11 = 0x10" (identifier "iVar11") (= "=") (number_literal "0x10")) (; ";")) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" (do "do") (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" ({ "{") (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" (identifier "FUN_00124280") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "lVar15 = *(long *)(param_1 + 0x30);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x30)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(param_1 + 0x30)" (* "*") (cast_expression "(long *)(param_1 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (*(long *)(param_1 + 0x28) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x28) != 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x28) != 0" (pointer_expression "*(long *)(param_1 + 0x28)" (* "*") (cast_expression "(long *)(param_1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);\n    }" ({ "{") (expression_statement "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);" (assignment_expression "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28)" (identifier "lVar15") (= "=") (binary_expression "lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28)" (identifier "lVar15") (+ "+") (pointer_expression "*(long *)(*(long *)(param_1 + 0x28) + 0x28)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x28) + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x28) + 0x28)" (( "(") (binary_expression "*(long *)(param_1 + 0x28) + 0x28" (pointer_expression "*(long *)(param_1 + 0x28)" (* "*") (cast_expression "(long *)(param_1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (} "}"))) (switch_statement "switch(*(undefined4 *)(param_1 + 0x10)) {\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }" (switch "switch") (parenthesized_expression "(*(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")) () ")")))) () ")")) (compound_statement "{\n    case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;\n    case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;\n    case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;\n    case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;\n    case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;\n    default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");\n    }" ({ "{") (case_statement "case 0x11a:\n      pcVar9 = "QUAD";\n      uVar10 = 8;\n      break;" (case "case") (number_literal "0x11a") (: ":") (expression_statement "pcVar9 = "QUAD";" (assignment_expression "pcVar9 = "QUAD"" (identifier "pcVar9") (= "=") (string_literal ""QUAD"" (" """) (string_content "QUAD") (" """))) (; ";")) (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" (identifier "uVar10") (= "=") (number_literal "8")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x11b:\n      pcVar9 = "SQUAD";\n      uVar10 = 8;\n      break;" (case "case") (number_literal "0x11b") (: ":") (expression_statement "pcVar9 = "SQUAD";" (assignment_expression "pcVar9 = "SQUAD"" (identifier "pcVar9") (= "=") (string_literal ""SQUAD"" (" """) (string_content "SQUAD") (" """))) (; ";")) (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" (identifier "uVar10") (= "=") (number_literal "8")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x11c:\n      pcVar9 = "LONG";\n      uVar10 = 4;\n      break;" (case "case") (number_literal "0x11c") (: ":") (expression_statement "pcVar9 = "LONG";" (assignment_expression "pcVar9 = "LONG"" (identifier "pcVar9") (= "=") (string_literal ""LONG"" (" """) (string_content "LONG") (" """))) (; ";")) (expression_statement "uVar10 = 4;" (assignment_expression "uVar10 = 4" (identifier "uVar10") (= "=") (number_literal "4")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x11d:\n      pcVar9 = "SHORT";\n      uVar10 = 2;\n      break;" (case "case") (number_literal "0x11d") (: ":") (expression_statement "pcVar9 = "SHORT";" (assignment_expression "pcVar9 = "SHORT"" (identifier "pcVar9") (= "=") (string_literal ""SHORT"" (" """) (string_content "SHORT") (" """))) (; ";")) (expression_statement "uVar10 = 2;" (assignment_expression "uVar10 = 2" (identifier "uVar10") (= "=") (number_literal "2")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x11e:\n      pcVar9 = "BYTE";\n      uVar10 = 1;\n      break;" (case "case") (number_literal "0x11e") (: ":") (expression_statement "pcVar9 = "BYTE";" (assignment_expression "pcVar9 = "BYTE"" (identifier "pcVar9") (= "=") (string_literal ""BYTE"" (" """) (string_content "BYTE") (" """))) (; ";")) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" (identifier "uVar10") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n                    \n      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");" (default "default") (: ":") (expression_statement "FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");" (call_expression "FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement")" (identifier "FUN_001242c0") (argument_list "("../../ld/ldlang.c",0x10c9,"print_data_statement")" (( "(") (string_literal ""../../ld/ldlang.c"" (" """) (string_content "../../ld/ldlang.c") (" """)) (, ",") (number_literal "0x10c9") (, ",") (string_literal ""print_data_statement"" (" """) (string_content "print_data_statement") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));" (assignment_expression "uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f))" (identifier "uVar13") (= "=") (call_expression "(ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f))" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(1 << ((byte)DAT_00185308 & 0x1f))" (( "(") (binary_expression "1 << ((byte)DAT_00185308 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)DAT_00185308 & 0x1f)" (( "(") (binary_expression "(byte)DAT_00185308 & 0x1f" (cast_expression "(byte)DAT_00185308" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_00185308")) (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (if_statement "if (uVar13 < uVar10) {\n      uVar13 = uVar10;\n    }" (if "if") (parenthesized_expression "(uVar13 < uVar10)" (( "(") (binary_expression "uVar13 < uVar10" (identifier "uVar13") (< "<") (identifier "uVar10")) () ")")) (compound_statement "{\n      uVar13 = uVar10;\n    }" ({ "{") (expression_statement "uVar13 = uVar10;" (assignment_expression "uVar13 = uVar10" (identifier "uVar13") (= "=") (identifier "uVar10")) (; ";")) (} "}"))) (expression_statement "FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20));" (call_expression "FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20))" (identifier "FUN_00125300") (argument_list "("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,\n                 *(undefined8 *)(param_1 + 0x20))" (( "(") (string_literal ""0x%V %W %s 0x%v"" (" """) (string_content "0x%V %W %s 0x%v") (" """)) (, ",") (identifier "lVar15") (, ",") (binary_expression "uVar13 >> ((byte)DAT_00185308 & 0x3f)" (identifier "uVar13") (>> ">>") (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" (( "(") (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_00185308")) (& "&") (number_literal "0x3f")) () ")"))) (, ",") (identifier "pcVar9") (, ",") (pointer_expression "*(undefined8 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) () ")"))) (; ";")) (if_statement "if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }" (if "if") (parenthesized_expression "(*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7)" (( "(") (binary_expression "*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7" (pointer_expression "*(int *)(*(long *)(param_1 + 0x18) + 0x10)" (* "*") (cast_expression "(int *)(*(long *)(param_1 + 0x18) + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x18) + 0x10)" (( "(") (binary_expression "*(long *)(param_1 + 0x18) + 0x10" (pointer_expression "*(long *)(param_1 + 0x18)" (* "*") (cast_expression "(long *)(param_1 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "7")) () ")")) (compound_statement "{\n      FUN_00124280();\n      FUN_00123490(*(undefined8 *)(param_1 + 0x18));\n    }" ({ "{") (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" (identifier "FUN_00124280") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00123490(*(undefined8 *)(param_1 + 0x18));" (call_expression "FUN_00123490(*(undefined8 *)(param_1 + 0x18))" (identifier "FUN_00123490") (argument_list "(*(undefined8 *)(param_1 + 0x18))" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x18)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" (identifier "FUN_001242a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;" (assignment_expression "DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (identifier "DAT_00185390") (= "=") (binary_expression "(uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (parenthesized_expression "(uVar13 >> ((byte)DAT_00185308 & 0x3f))" (( "(") (binary_expression "uVar13 >> ((byte)DAT_00185308 & 0x3f)" (identifier "uVar13") (>> ">>") (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" (( "(") (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_00185308")) (& "&") (number_literal "0x3f")) () ")"))) () ")")) (+ "+") (identifier "lVar15"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n    FUN_00113550();\n    iVar11 = 0x10;\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x48);\n    if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }\n    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));\n    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));\n    lVar14 = *(long *)(param_1 + 0x28);\n    if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }\n    FUN_00125300(&DAT_0013efd8,lVar14);\n    FUN_00123490(*(undefined8 *)(param_1 + 0x30));\n    FUN_001242a0();\n    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;" (case "case") (number_literal "9") (: ":") (expression_statement "FUN_00113550();" (call_expression "FUN_00113550()" (identifier "FUN_00113550") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar11 = 0x10;" (assignment_expression "iVar11 = 0x10" (identifier "iVar11") (= "=") (number_literal "0x10")) (; ";")) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" (do "do") (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" ({ "{") (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" (identifier "FUN_00124280") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "lVar15 = *(long *)(param_1 + 0x48);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x48)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(param_1 + 0x48)" (* "*") (cast_expression "(long *)(param_1 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (if_statement "if (*(long *)(param_1 + 0x40) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x40) != 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x40) != 0" (pointer_expression "*(long *)(param_1 + 0x40)" (* "*") (cast_expression "(long *)(param_1 + 0x40)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);\n    }" ({ "{") (expression_statement "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);" (assignment_expression "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28)" (identifier "lVar15") (= "=") (binary_expression "lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28)" (identifier "lVar15") (+ "+") (pointer_expression "*(long *)(*(long *)(param_1 + 0x40) + 0x28)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x40) + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x40) + 0x28)" (( "(") (binary_expression "*(long *)(param_1 + 0x40) + 0x28" (pointer_expression "*(long *)(param_1 + 0x40)" (* "*") (cast_expression "(long *)(param_1 + 0x40)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));" (assignment_expression "uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18))" (identifier "uVar5") (= "=") (call_expression "bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18))" (identifier "bfd_get_reloc_size") (argument_list "(*(undefined8 *)(param_1 + 0x18))" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x18)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) () ")")))) (; ";")) (expression_statement "FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));" (call_expression "FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28))" (identifier "FUN_00125300") (argument_list "("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),\n                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28))" (( "(") (string_literal ""0x%V %W RELOC %s "" (" """) (string_content "0x%V %W RELOC %s ") (" """)) (, ",") (identifier "lVar15") (, ",") (binary_expression "uVar5 >> ((byte)DAT_00185308 & 0x3f)" (identifier "uVar5") (>> ">>") (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" (( "(") (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_00185308")) (& "&") (number_literal "0x3f")) () ")"))) (, ",") (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x18) + 0x28)" (( "(") (binary_expression "*(long *)(param_1 + 0x18) + 0x28" (pointer_expression "*(long *)(param_1 + 0x18)" (* "*") (cast_expression "(long *)(param_1 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "0x28")) () ")")))) () ")"))) (; ";")) (expression_statement "lVar14 = *(long *)(param_1 + 0x28);" (assignment_expression "lVar14 = *(long *)(param_1 + 0x28)" (identifier "lVar14") (= "=") (pointer_expression "*(long *)(param_1 + 0x28)" (* "*") (cast_expression "(long *)(param_1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (lVar14 == 0) {\n      lVar14 = **(long **)(param_1 + 0x20);\n    }" (if "if") (parenthesized_expression "(lVar14 == 0)" (( "(") (binary_expression "lVar14 == 0" (identifier "lVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      lVar14 = **(long **)(param_1 + 0x20);\n    }" ({ "{") (expression_statement "lVar14 = **(long **)(param_1 + 0x20);" (assignment_expression "lVar14 = **(long **)(param_1 + 0x20)" (identifier "lVar14") (= "=") (pointer_expression "**(long **)(param_1 + 0x20)" (* "*") (pointer_expression "*(long **)(param_1 + 0x20)" (* "*") (cast_expression "(long **)(param_1 + 0x20)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (} "}"))) (expression_statement "FUN_00125300(&DAT_0013efd8,lVar14);" (call_expression "FUN_00125300(&DAT_0013efd8,lVar14)" (identifier "FUN_00125300") (argument_list "(&DAT_0013efd8,lVar14)" (( "(") (pointer_expression "&DAT_0013efd8" (& "&") (identifier "DAT_0013efd8")) (, ",") (identifier "lVar14") () ")"))) (; ";")) (expression_statement "FUN_00123490(*(undefined8 *)(param_1 + 0x30));" (call_expression "FUN_00123490(*(undefined8 *)(param_1 + 0x30))" (identifier "FUN_00123490") (argument_list "(*(undefined8 *)(param_1 + 0x30))" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x30)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" (identifier "FUN_001242a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;" (assignment_expression "DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (identifier "DAT_00185390") (= "=") (binary_expression "(ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (call_expression "(ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar5 >> ((byte)DAT_00185308 & 0x3f))" (( "(") (binary_expression "uVar5 >> ((byte)DAT_00185308 & 0x3f)" (identifier "uVar5") (>> ">>") (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" (( "(") (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_00185308")) (& "&") (number_literal "0x3f")) () ")"))) () ")"))) (+ "+") (identifier "lVar15"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n    lVar15 = *(long *)(param_1 + 0x10);\n    pcVar9 = "TARGET(%s)\n";\nLAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);\n    return;" (case "case") (number_literal "10") (: ":") (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "pcVar9 = "TARGET(%s)\n";" (assignment_expression "pcVar9 = "TARGET(%s)\n"" (identifier "pcVar9") (= "=") (string_literal ""TARGET(%s)\n"" (" """) (string_content "TARGET(%s)") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_00113cab:\n    fprintf(DAT_00185bd8,pcVar9,lVar15);" (statement_identifier "LAB_00113cab") (: ":") (expression_statement "fprintf(DAT_00185bd8,pcVar9,lVar15);" (call_expression "fprintf(DAT_00185bd8,pcVar9,lVar15)" (identifier "fprintf") (argument_list "(DAT_00185bd8,pcVar9,lVar15)" (( "(") (identifier "DAT_00185bd8") (, ",") (identifier "pcVar9") (, ",") (identifier "lVar15") () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";"))) (case_statement "case 0xb:\n    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));\n    if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }\n    pcVar9 = ")\n";\nLAB_00113bd7:\n    FUN_00125300(pcVar9);\n    return;" (case "case") (number_literal "0xb") (: ":") (expression_statement "FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));" (call_expression "FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10))" (identifier "FUN_00125300") (argument_list "("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10))" (( "(") (string_literal ""OUTPUT(%s"" (" """) (string_content "OUTPUT(%s") (" """)) (, ",") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) () ")"))) (; ";")) (if_statement "if (DAT_00185998 != 0) {\n      FUN_00125300(&DAT_0013d727);\n    }" (if "if") (parenthesized_expression "(DAT_00185998 != 0)" (( "(") (binary_expression "DAT_00185998 != 0" (identifier "DAT_00185998") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00125300(&DAT_0013d727);\n    }" ({ "{") (expression_statement "FUN_00125300(&DAT_0013d727);" (call_expression "FUN_00125300(&DAT_0013d727)" (identifier "FUN_00125300") (argument_list "(&DAT_0013d727)" (( "(") (pointer_expression "&DAT_0013d727" (& "&") (identifier "DAT_0013d727")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar9 = ")\n";" (assignment_expression "pcVar9 = ")\n"" (identifier "pcVar9") (= "=") (string_literal "")\n"" (" """) (string_content ")") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_00113bd7:\n    FUN_00125300(pcVar9);" (statement_identifier "LAB_00113bd7") (: ":") (expression_statement "FUN_00125300(pcVar9);" (call_expression "FUN_00125300(pcVar9)" (identifier "FUN_00125300") (argument_list "(pcVar9)" (( "(") (identifier "pcVar9") () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";"))) (case_statement "case 0xc:\n    FUN_00113550();\n    iVar11 = 9;\n    FUN_00125300(" *fill*");\n    do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);\n    lVar15 = *(long *)(param_1 + 0x10);\n    if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }\n    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));\n    plVar3 = *(long **)(param_1 + 0x28);\n    lVar14 = *plVar3;\n    if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }\n    FUN_001242a0();\n    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;\n    break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "FUN_00113550();" (call_expression "FUN_00113550()" (identifier "FUN_00113550") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar11 = 9;" (assignment_expression "iVar11 = 9" (identifier "iVar11") (= "=") (number_literal "9")) (; ";")) (expression_statement "FUN_00125300(" *fill*");" (call_expression "FUN_00125300(" *fill*")" (identifier "FUN_00125300") (argument_list "(" *fill*")" (( "(") (string_literal "" *fill*"" (" """) (string_content " *fill*") (" """)) () ")"))) (; ";")) (do_statement "do {\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    } while (iVar11 != 0);" (do "do") (compound_statement "{\n      FUN_00124280();\n      iVar11 = iVar11 + -1;\n    }" ({ "{") (expression_statement "FUN_00124280();" (call_expression "FUN_00124280()" (identifier "FUN_00124280") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "lVar15 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar15 = *(long *)(param_1 + 0x10)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (*(long *)(param_1 + 0x20) != 0) {\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x20) != 0" (pointer_expression "*(long *)(param_1 + 0x20)" (* "*") (cast_expression "(long *)(param_1 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);\n    }" ({ "{") (expression_statement "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);" (assignment_expression "lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28)" (identifier "lVar15") (= "=") (binary_expression "lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28)" (identifier "lVar15") (+ "+") (pointer_expression "*(long *)(*(long *)(param_1 + 0x20) + 0x28)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x20) + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x20) + 0x28)" (( "(") (binary_expression "*(long *)(param_1 + 0x20) + 0x28" (pointer_expression "*(long *)(param_1 + 0x20)" (* "*") (cast_expression "(long *)(param_1 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (} "}"))) (expression_statement "FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));" (call_expression "FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f))" (identifier "FUN_00125300") (argument_list "("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f))" (( "(") (string_literal ""0x%V %W "" (" """) (string_content "0x%V %W ") (" """)) (, ",") (identifier "lVar15") (, ",") (binary_expression "*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)" (pointer_expression "*(ulong *)(param_1 + 0x18)" (* "*") (cast_expression "(ulong *)(param_1 + 0x18)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (>> ">>") (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" (( "(") (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_00185308")) (& "&") (number_literal "0x3f")) () ")"))) () ")"))) (; ";")) (expression_statement "plVar3 = *(long **)(param_1 + 0x28);" (assignment_expression "plVar3 = *(long **)(param_1 + 0x28)" (identifier "plVar3") (= "=") (pointer_expression "*(long **)(param_1 + 0x28)" (* "*") (cast_expression "(long **)(param_1 + 0x28)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "lVar14 = *plVar3;" (assignment_expression "lVar14 = *plVar3" (identifier "lVar14") (= "=") (pointer_expression "*plVar3" (* "*") (identifier "plVar3"))) (; ";")) (if_statement "if (lVar14 != 0) {\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }" (if "if") (parenthesized_expression "(lVar14 != 0)" (( "(") (binary_expression "lVar14 != 0" (identifier "lVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pbVar12 = (byte *)(plVar3 + 1);\n      do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));\n    }" ({ "{") (expression_statement "pbVar12 = (byte *)(plVar3 + 1);" (assignment_expression "pbVar12 = (byte *)(plVar3 + 1)" (identifier "pbVar12") (= "=") (cast_expression "(byte *)(plVar3 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar3 + 1)" (( "(") (binary_expression "plVar3 + 1" (identifier "plVar3") (+ "+") (number_literal "1")) () ")")))) (; ";")) (do_statement "do {\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));" (do "do") (compound_statement "{\n        bVar1 = *pbVar12;\n        pbVar12 = pbVar12 + 1;\n        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);\n      }" ({ "{") (expression_statement "bVar1 = *pbVar12;" (assignment_expression "bVar1 = *pbVar12" (identifier "bVar1") (= "=") (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12"))) (; ";")) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 1" (identifier "pbVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);" (call_expression "fprintf(DAT_00185bd8,"%02x",(ulong)bVar1)" (identifier "fprintf") (argument_list "(DAT_00185bd8,"%02x",(ulong)bVar1)" (( "(") (identifier "DAT_00185bd8") (, ",") (string_literal ""%02x"" (" """) (string_content "%02x") (" """)) (, ",") (cast_expression "(ulong)bVar1" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar1")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar12 != (byte *)((long)plVar3 + lVar14 + 8))" (( "(") (binary_expression "pbVar12 != (byte *)((long)plVar3 + lVar14 + 8)" (identifier "pbVar12") (!= "!=") (cast_expression "(byte *)((long)plVar3 + lVar14 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar3 + lVar14 + 8)" (( "(") (binary_expression "(long)plVar3 + lVar14 + 8" (binary_expression "(long)plVar3 + lVar14" (cast_expression "(long)plVar3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar3")) (+ "+") (identifier "lVar14")) (+ "+") (number_literal "8")) () ")")))) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_001242a0();" (call_expression "FUN_001242a0()" (identifier "FUN_001242a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;" (assignment_expression "DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (identifier "DAT_00185390") (= "=") (binary_expression "(*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15" (parenthesized_expression "(*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f))" (( "(") (binary_expression "*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)" (pointer_expression "*(ulong *)(param_1 + 0x18)" (* "*") (cast_expression "(ulong *)(param_1 + 0x18)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (>> ">>") (parenthesized_expression "((byte)DAT_00185308 & 0x3f)" (( "(") (binary_expression "(byte)DAT_00185308 & 0x3f" (cast_expression "(byte)DAT_00185308" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_00185308")) (& "&") (number_literal "0x3f")) () ")"))) () ")")) (+ "+") (identifier "lVar15"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xd:\n    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);\n    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }\n    fwrite("END GROUP\n",1,10,DAT_00185bd8);\n    return;" (case "case") (number_literal "0xd") (: ":") (expression_statement "fwrite("START GROUP\n",1,0xc,DAT_00185bd8);" (call_expression "fwrite("START GROUP\n",1,0xc,DAT_00185bd8)" (identifier "fwrite") (argument_list "("START GROUP\n",1,0xc,DAT_00185bd8)" (( "(") (string_literal ""START GROUP\n"" (" """) (string_content "START GROUP") (escape_sequence "\n") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "0xc") (, ",") (identifier "DAT_00185bd8") () ")"))) (; ";")) (for_statement "for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;\n        puVar2 = (undefined8 *)*puVar2) {\n      FUN_001138c0(puVar2,param_2);\n    }" (for "for") (( "(") (assignment_expression "puVar2 = *(undefined8 **)(param_1 + 0x10)" (identifier "puVar2") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";") (binary_expression "puVar2 != (undefined8 *)0x0" (identifier "puVar2") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar2 = (undefined8 *)*puVar2" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)*puVar2" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")))) () ")") (compound_statement "{\n      FUN_001138c0(puVar2,param_2);\n    }" ({ "{") (expression_statement "FUN_001138c0(puVar2,param_2);" (call_expression "FUN_001138c0(puVar2,param_2)" (identifier "FUN_001138c0") (argument_list "(puVar2,param_2)" (( "(") (identifier "puVar2") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (expression_statement "fwrite("END GROUP\n",1,10,DAT_00185bd8);" (call_expression "fwrite("END GROUP\n",1,10,DAT_00185bd8)" (identifier "fwrite") (argument_list "("END GROUP\n",1,10,DAT_00185bd8)" (( "(") (string_literal ""END GROUP\n"" (" """) (string_content "END GROUP") (escape_sequence "\n") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "10") (, ",") (identifier "DAT_00185bd8") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "case 0xe:\n    pcVar9 = "BEFORE";\n    if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }\n    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));\n    return;" (case "case") (number_literal "0xe") (: ":") (expression_statement "pcVar9 = "BEFORE";" (assignment_expression "pcVar9 = "BEFORE"" (identifier "pcVar9") (= "=") (string_literal ""BEFORE"" (" """) (string_content "BEFORE") (" """))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x18) == 0) {\n      pcVar9 = "AFTER";\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x18) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) == 0" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar9 = "AFTER";\n    }" ({ "{") (expression_statement "pcVar9 = "AFTER";" (assignment_expression "pcVar9 = "AFTER"" (identifier "pcVar9") (= "=") (string_literal ""AFTER"" (" """) (string_content "AFTER") (" """))) (; ";")) (} "}"))) (expression_statement "FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));" (call_expression "FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10))" (identifier "FUN_00125300") (argument_list "("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10))" (( "(") (string_literal ""INSERT %s %s\n"" (" """) (string_content "INSERT %s %s") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar9") (, ",") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "case 0xf:\n    if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }\n    break;" (case "case") (number_literal "0xf") (: ":") (if_statement "if (DAT_001859c0 != (undefined8 *)0x0) {\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }" (if "if") (parenthesized_expression "(DAT_001859c0 != (undefined8 *)0x0)" (( "(") (binary_expression "DAT_001859c0 != (undefined8 *)0x0" (identifier "DAT_001859c0") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }\n      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }\n    }" ({ "{") (if_statement "if (DAT_001859d0 == 0) {\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }\n      else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }" (if "if") (parenthesized_expression "(DAT_001859d0 == 0)" (( "(") (binary_expression "DAT_001859d0 == 0" (identifier "DAT_001859d0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_00125300(" CONSTRUCTORS\n");\n        puVar2 = DAT_001859c0;\n      }" ({ "{") (expression_statement "FUN_00125300(" CONSTRUCTORS\n");" (call_expression "FUN_00125300(" CONSTRUCTORS\n")" (identifier "FUN_00125300") (argument_list "(" CONSTRUCTORS\n")" (( "(") (string_literal "" CONSTRUCTORS\n"" (" """) (string_content " CONSTRUCTORS") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "puVar2 = DAT_001859c0;" (assignment_expression "puVar2 = DAT_001859c0" (identifier "puVar2") (= "=") (identifier "DAT_001859c0")) (; ";")) (} "}")) (else_clause "else {\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }" (else "else") (compound_statement "{\n        FUN_00125300(" SORT (CONSTRUCTORS)\n");\n        puVar2 = DAT_001859c0;\n      }" ({ "{") (expression_statement "FUN_00125300(" SORT (CONSTRUCTORS)\n");" (call_expression "FUN_00125300(" SORT (CONSTRUCTORS)\n")" (identifier "FUN_00125300") (argument_list "(" SORT (CONSTRUCTORS)\n")" (( "(") (string_literal "" SORT (CONSTRUCTORS)\n"" (" """) (string_content " SORT (CONSTRUCTORS)") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "puVar2 = DAT_001859c0;" (assignment_expression "puVar2 = DAT_001859c0" (identifier "puVar2") (= "=") (identifier "DAT_001859c0")) (; ";")) (} "}")))) (for_statement "for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {\n        FUN_001138c0(puVar2,param_2);\n      }" (for "for") (( "(") (; ";") (binary_expression "puVar2 != (undefined8 *)0x0" (identifier "puVar2") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar2 = (undefined8 *)*puVar2" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)*puVar2" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")))) () ")") (compound_statement "{\n        FUN_001138c0(puVar2,param_2);\n      }" ({ "{") (expression_statement "FUN_001138c0(puVar2,param_2);" (call_expression "FUN_001138c0(puVar2,param_2)" (identifier "FUN_001138c0") (argument_list "(puVar2,param_2)" (( "(") (identifier "puVar2") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);\n    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);\n    FUN_001252c0("../../ld/ldlang.c",0x11bc);\n    return;" (default "default") (: ":") (expression_statement "pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);" (assignment_expression "pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5)" (identifier "pcVar9") (= "=") (cast_expression "(char *)dcgettext(0,"Fail with %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Fail with %d\n",5)" (identifier "dcgettext") (argument_list "(0,"Fail with %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Fail with %d\n"" (" """) (string_content "Fail with %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);" (call_expression "fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5)" (identifier "fprintf") (argument_list "(DAT_00185bd8,pcVar9,(ulong)uVar5)" (( "(") (identifier "DAT_00185bd8") (, ",") (identifier "pcVar9") (, ",") (cast_expression "(ulong)uVar5" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar5")) () ")"))) (; ";")) (expression_statement "FUN_001252c0("../../ld/ldlang.c",0x11bc);" (call_expression "FUN_001252c0("../../ld/ldlang.c",0x11bc)" (identifier "FUN_001252c0") (argument_list "("../../ld/ldlang.c",0x11bc)" (( "(") (string_literal ""../../ld/ldlang.c"" (" """) (string_content "../../ld/ldlang.c") (" """)) (, ",") (number_literal "0x11bc") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *var_1,type_2 *os)

{
  type_3 bVar1;
  type_4 sVar2;
  type_5 *var_20;
  type_1 *var_13;
  type_6 *pfVar5;
  size_t var_24;
  type_7 *var_21;
  bool bVar8;
  type_8 var_8;
  type_9 *var_3;
  size_t var_5;
  char *var_19;
  type_10 var_31;
  long var_17;
  int var_14;
  type_11 *var_25;
  type_10 var_30;
  type_9 *var_15;
  char *pcVar18;
  type_12 *plVar19;
  type_13 *tree;
  type_14 var_32;
  type_15 var_9;
  
  sVar2 = (var_1->header).type;
  switch(sVar2) {
  case lang_output_section_statement_enum:
    if (var_1 != (type_1 *)abs_output_section) {
      var_3 = (var_1->output_section_statement).type_17;
      var_2("\n%s",(var_1->wild_statement).children.head);
      if (var_3 != (type_9 *)0x0) {
        print_dot = var_3->vma;
        var_5 = var_4((var_1->output_section_statement).name);
        var_31 = var_5 & 0xffffffff;
        if (0xe < (int)var_5) {
          var_6();
          var_31 = 0;
        }
        do {
          var_7();
          var_8 = (int)var_31 + 1;
          var_31 = (type_10)var_8;
        } while (var_8 != 0x10);
        var_2("0x%V %W",var_3->vma,var_3->size >> ((type_3)opb_shift & 0x3f));
        var_9 = var_3->lma;
        if (var_3->vma != var_9) {
          var_19 = (char *)var_10(0," load address 0x%V",5);
          var_2(var_19,var_9);
        }
        if ((var_1->output_section_statement).update_dot_tree != (type_13 *)0x0) {
          var_11((var_1->output_section_statement).update_dot_tree,
                        (type_9 *)(var_12 + 0x230),&print_dot);
        }
      }
      var_6();
    }
    for (var_13 = (var_1->output_section_statement).children.head;
        var_13 != (type_1 *)0x0; var_13 = (var_13->header).next) {
      function_1(var_13,&var_1->output_section_statement);
    }
    break;
  case lang_assignment_statement_enum:
    var_14 = 0x10;
    do {
      var_7();
      var_14 = var_14 + -1;
    } while (var_14 != 0);
    var_3 = (var_1->input_section).section;
    var_15 = os->type_17;
    tree = (type_13 *)var_3->prev;
    if (*(int *)&var_3->next == 8) {
      bVar8 = false;
      if (var_15 == (type_9 *)0x0) {
        var_15 = (type_9 *)(var_12 + 0x230);
      }
LAB_001141b0:
      var_11(tree,var_15,&print_dot);
      var_9 = expld.result.value;
      var_3 = (var_1->input_section).section;
      if (expld.result.valid_p == 0) goto LAB_00113952;
      if (*(int *)&var_3->next == 8) {
        if (expld.result.section != (type_9 *)0x0) {
LAB_00114205:
          var_9 = expld.result.value + (expld.result.section)->vma;
        }
        var_2("0x%V",var_9);
        if (bVar8) {
LAB_00114222:
          print_dot = var_9;
        }
      }
      else {
        if (bVar8) {
          if (expld.result.section != (type_9 *)0x0) goto LAB_00114205;
          var_2("0x%V",expld.result.value);
          goto LAB_00114222;
        }
        if (expld.assign_name == (char *)0x0) {
          var_17 = var_16(link_info.hash,var_3->prev,0,0,1);
          if (var_17 == 0) {
            var_2("[unresolved]");
          }
          else {
            var_2("[0x%V]",*(long *)(*(long *)(var_17 + 0x28) + 0x60) + *(long *)(var_17 + 0x30) +
                           *(long *)(*(long *)(*(long *)(var_17 + 0x28) + 0x68) + 0x28));
          }
        }
        else {
          if (expld.result.section != (type_9 *)0x0) goto LAB_00114205;
          var_2("0x%V",expld.result.value);
        }
      }
    }
    else {
      if ((*(char *)tree != '.') ||
         (bVar8 = true, *(char *)((long)&(tree->type).node_code + 1) != '\0')) {
        bVar8 = false;
        expld.assign_name = (char *)tree;
      }
      tree = *(type_13 **)&var_3->flags;
      if (var_15 == (type_9 *)0x0) {
        var_15 = (type_9 *)(var_12 + 0x230);
      }
      if (*(int *)&var_3->next != 5) goto LAB_001141b0;
      expld.result.valid_p = 0;
LAB_00113952:
      if (*(int *)&var_3->next == 5) {
        var_2("[!provide]");
      }
      else {
        var_2("*undef*   ");
      }
      var_2("        ");
    }
    expld.assign_name = (char *)0x0;
    var_2("                ");
    plVar19 = (var_1->output_section_statement).children.head;
LAB_001139f8:
    var_18((type_13 *)plVar19);
    var_6();
    return;
  case lang_input_statement_enum:
    var_19 = (var_1->wild_statement).filename;
    if ((var_19 != (char *)0x0) &&
       (((var_1->reloc_statement).section == (type_9 *)0x0 ||
        ((((var_1->reloc_statement).section)->rawsize & 0x2000000000000) == 0)))) {
      pcVar18 = "LOAD %s\n";
      goto LAB_00113cab;
    }
    break;
  case lang_address_statement_enum:
    var_19 = (var_1->wild_statement).filename;
    pcVar18 = (char *)var_10(0,"Address of section %s set to ",5);
    var_2(pcVar18,var_19);
    plVar19 = (type_12 *)(var_1->data_statement).exp;
    goto LAB_001139f8;
  case lang_wild_statement_enum:
    var_7();
    if ((var_1->wild_statement).exclude_name_list != (type_5 *)0x0) {
      var_2("EXCLUDE_FILE(%s",((var_1->wild_statement).exclude_name_list)->name);
      for (var_20 = ((var_1->wild_statement).exclude_name_list)->next; var_20 != (type_5 *)0x0;
          var_20 = var_20->next) {
        var_2(" %s",var_20->name);
      }
      var_2(") ");
    }
    if ((var_1->wild_statement).filenames_sorted != 0) {
      var_2("SORT_BY_NAME(");
    }
    if ((var_1->wild_statement).filename == (char *)0x0) {
      var_2("*");
    }
    else {
      var_2("%s");
    }
    if ((var_1->wild_statement).filenames_sorted != 0) {
      var_2(")");
    }
    var_2("(");
    for (var_3 = (var_1->reloc_statement).section; var_3 != (type_9 *)0x0;
        var_3 = (type_9 *)var_3->name) {
      switch(*(type_16 *)&var_3->prev) {
      default:
        var_14 = 0;
        break;
      case 1:
        var_14 = 1;
        var_2("SORT_BY_NAME(");
        break;
      case 2:
        var_14 = 1;
        var_2("SORT_BY_ALIGNMENT(");
        break;
      case 3:
        var_14 = 2;
        var_2("SORT_BY_NAME(SORT_BY_ALIGNMENT(");
        break;
      case 4:
        var_14 = 2;
        var_2("SORT_BY_ALIGNMENT(SORT_BY_NAME(");
        break;
      case 5:
        var_14 = 1;
        var_2("SORT_NONE(");
        break;
      case 6:
        var_14 = 1;
        var_2("SORT_BY_INIT_PRIORITY(");
      }
      if (var_3->next != (type_17 *)0x0) {
        var_2("EXCLUDE_FILE(%s",var_3->next->name);
        for (var_21 = *(type_7 **)&var_3->next->id; var_21 != (type_7 *)0x0;
            var_21 = (type_7 *)var_21[1]) {
          var_2(" %s",*var_21);
        }
        var_2(") ");
      }
      var_17._0_4_ = var_3->id;
      var_17._4_4_ = var_3->index;
      if (var_17 == 0) {
        var_2("*");
      }
      else {
        var_2("%s");
      }
      if ((var_14 != 0) && (var_2(")"), var_14 != 1)) {
        var_2(")");
      }
      if (var_3->name == (char *)0x0) break;
      var_2(" ");
    }
    var_2(")");
    var_6();
    for (var_13 = (var_1->wild_statement).children.head; var_13 != (type_1 *)0x0;
        var_13 = (var_13->header).next) {
      function_1(var_13,os);
    }
    break;
  case lang_input_section_enum:
    var_22((var_1->input_section).section,0);
    return;
  case lang_object_symbols_statement_enum:
    var_19 = " CREATE_OBJECT_SYMBOLS\n";
    goto LAB_00113bd7;
  case lang_fill_statement_enum:
    var_23(" FILL mask 0x",1,0xd,(type_18 *)config.map_file);
    pfVar5 = (var_1->fill_statement).fill;
    var_24 = pfVar5->size;
    var_25 = pfVar5->data;
    if (var_24 != 0) {
      do {
        bVar1 = *var_25;
        var_25 = var_25 + 1;
        var_26((type_18 *)config.map_file,"%02x",(type_10)bVar1);
      } while (var_25 != pfVar5->data + var_24);
    }
    var_27(10,(type_18 *)config.map_file);
    return;
  case lang_data_statement_enum:
    var_28();
    var_14 = 0x10;
    do {
      var_7();
      var_14 = var_14 + -1;
    } while (var_14 != 0);
    plVar19 = (var_1->wild_statement).children.head;
    if ((var_1->output_section_statement).prev != (type_19 *)0x0) {
      plVar19 = (type_12 *)
                ((long)&(((var_1->output_section_statement).prev)->prev->header).next + (long)plVar19);
    }
    switch((var_1->data_statement).type) {
    case 0x11a:
      var_19 = "QUAD";
      var_31 = 8;
      break;
    case 0x11b:
      var_19 = "SQUAD";
      var_31 = 8;
      break;
    case 0x11c:
      var_19 = "LONG";
      var_31 = 4;
      break;
    case 0x11d:
      var_19 = "SHORT";
      var_31 = 2;
      break;
    case 0x11e:
      var_19 = "BYTE";
      var_31 = 1;
      break;
    default:
                    /* WARNING: Subroutine does not return */
      var_29("../../ld/ldlang.c",0x10c9,"print_data_statement");
    }
    var_30 = (type_10)(type_8)(1 << ((type_3)opb_shift & 0x1f));
    if (var_30 < var_31) {
      var_30 = var_31;
    }
    var_2("0x%V %W %s 0x%v",plVar19,var_30 >> ((type_3)opb_shift & 0x3f),var_19,
          (var_1->wild_statement).section_list);
    if (((var_1->reloc_statement).howto)->pc_relative != 7) {
      var_7();
      var_18((var_1->data_statement).exp);
    }
    var_6();
    print_dot = (var_30 >> ((type_3)opb_shift & 0x3f)) + (long)plVar19;
    break;
  case lang_reloc_statement_enum:
    var_28();
    var_14 = 0x10;
    do {
      var_7();
      var_14 = var_14 + -1;
    } while (var_14 != 0);
    var_32 = (var_1->wild_statement).walk_wild_section_handler;
    if ((var_1->reloc_statement).output_section != (type_9 *)0x0) {
      var_32 = var_32 + ((var_1->reloc_statement).output_section)->vma;
    }
    var_8 = var_33((var_1->data_statement).exp);
    var_2("0x%V %W RELOC %s ",var_32,(type_10)(var_8 >> ((type_3)opb_shift & 0x3f)),
          ((var_1->reloc_statement).howto)->name);
    var_3 = (var_1->data_statement).output_section;
    if (var_3 == (type_9 *)0x0) {
      var_3 = (type_9 *)((var_1->wild_statement).section_list)->next;
    }
    var_2("%s+",var_3);
    var_18((type_13 *)(var_1->wild_statement).children.head);
    var_6();
    print_dot = (type_15)(var_32 + (var_8 >> ((type_3)opb_shift & 0x3f)));
    break;
  case lang_target_statement_enum:
    var_19 = (var_1->wild_statement).filename;
    pcVar18 = "TARGET(%s)\n";
LAB_00113cab:
    var_26((type_18 *)config.map_file,pcVar18,var_19);
    return;
  case lang_output_statement_enum:
    var_2("OUTPUT(%s",(var_1->wild_statement).filename);
    if (var_34 != (char *)0x0) {
      var_2(" %s");
    }
    var_19 = ")\n";
LAB_00113bd7:
    var_2(var_19);
    return;
  case lang_padding_statement_enum:
    var_28();
    var_14 = 9;
    var_2(" *fill*");
    do {
      var_7();
      var_14 = var_14 + -1;
    } while (var_14 != 0);
    var_19 = (var_1->wild_statement).filename;
    if ((var_1->output_section_statement).next != (type_19 *)0x0) {
      var_19 = var_19 + (long)((var_1->output_section_statement).next)->prev;
    }
    var_2("0x%V %W ",var_19,(var_1->padding_statement).size >> ((type_3)opb_shift & 0x3f));
    pfVar5 = (var_1->padding_statement).fill;
    var_24 = pfVar5->size;
    if (var_24 != 0) {
      var_25 = pfVar5->data;
      do {
        bVar1 = *var_25;
        var_25 = var_25 + 1;
        var_26((type_18 *)config.map_file,"%02x",(type_10)bVar1);
      } while (var_25 != pfVar5->data + var_24);
    }
    var_6();
    print_dot = (type_15)(var_19 + ((var_1->padding_statement).size >> ((type_3)opb_shift & 0x3f)));
    break;
  case lang_group_statement_enum:
    var_23("START GROUP\n",1,0xc,(type_18 *)config.map_file);
    for (var_13 = (var_1->output_section_statement).children.head;
        var_13 != (type_1 *)0x0; var_13 = (var_13->header).next) {
      function_1(var_13,os);
    }
    var_23("END GROUP\n",1,10,(type_18 *)config.map_file);
    return;
  case lang_insert_statement_enum:
    var_19 = "BEFORE";
    if ((var_1->wild_statement).filenames_sorted == 0) {
      var_19 = "AFTER";
    }
    var_2("INSERT %s %s\n",var_19,(var_1->wild_statement).filename);
    return;
  case lang_constructors_statement_enum:
    if (constructor_list.head != (type_12 *)0x0) {
      if (var_35 == 0) {
        var_2(" CONSTRUCTORS\n");
        var_13 = constructor_list.head;
      }
      else {
        var_2(" SORT (CONSTRUCTORS)\n");
        var_13 = constructor_list.head;
      }
      for (; var_13 != (type_1 *)0x0; var_13 = (var_13->header).next) {
        function_1(var_13,os);
      }
    }
    break;
  default:
    var_19 = (char *)var_10(0,"Fail with %d\n",5);
    var_26((type_18 *)config.map_file,var_19,(type_10)sVar2);
    var_36("../../ld/ldlang.c",0x11bc);
    return;
  }
  return;
}


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

void MASKED(long param_1,long param_2)

{
  byte bVar1;
  undefined8 *puVar2;
  long *plVar3;
  bool bVar4;
  uint uVar5;
  undefined8 uVar6;
  size_t sVar7;
  undefined8 uVar8;
  char *pcVar9;
  ulong uVar10;
  int iVar11;
  byte *pbVar12;
  ulong uVar13;
  long lVar14;
  long lVar15;
  
  uVar5 = *(uint *)(param_1 + 8);
  switch(uVar5) {
  case 0:
    if (param_1 != DAT_00185970) {
      lVar15 = *(long *)(param_1 + 0x38);
      FUN_00125300(&DAT_0013efed,*(undefined8 *)(param_1 + 0x30));
      if (lVar15 != 0) {
        DAT_00185390 = *(long *)(lVar15 + 0x28);
        sVar7 = strlen(*(char **)(param_1 + 0x30));
        uVar10 = sVar7 & 0xffffffff;
        if (0xe < (int)sVar7) {
          FUN_001242a0();
          uVar10 = 0;
        }
        do {
          FUN_00124280();
          uVar5 = (int)uVar10 + 1;
          uVar10 = (ulong)uVar5;
        } while (uVar5 != 0x10);
        FUN_00125300("0x%V %W",*(undefined8 *)(lVar15 + 0x28),
                     *(ulong *)(lVar15 + 0x38) >> ((byte)DAT_00185308 & 0x3f));
        lVar14 = *(long *)(lVar15 + 0x30);
        if (*(long *)(lVar15 + 0x28) != lVar14) {
          uVar8 = dcgettext(0," load address 0x%V",5);
          FUN_00125300(uVar8,lVar14);
        }
        if (*(long *)(param_1 + 0x68) != 0) {
          FUN_00123130(*(long *)(param_1 + 0x68),0x184c90,&DAT_00185390);
        }
      }
      FUN_001242a0();
    }
    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;
        puVar2 = (undefined8 *)*puVar2) {
      MASKED(puVar2,param_1);
    }
    break;
  case 1:
    iVar11 = 0x10;
    do {
      FUN_00124280();
      iVar11 = iVar11 + -1;
    } while (iVar11 != 0);
    lVar15 = *(long *)(param_1 + 0x10);
    lVar14 = *(long *)(param_2 + 0x38);
    pcVar9 = *(char **)(lVar15 + 0x18);
    if (*(int *)(lVar15 + 0x10) == 8) {
      bVar4 = false;
      if (lVar14 == 0) {
        lVar14 = 0x184c90;
      }
LAB_001141b0:
      FUN_00123130(pcVar9,lVar14,&DAT_00185390);
      lVar14 = DAT_00185c60;
      lVar15 = *(long *)(param_1 + 0x10);
      if (DAT_00185c78 == 0) goto LAB_00113952;
      if (*(int *)(lVar15 + 0x10) == 8) {
        if (DAT_00185c70 != 0) {
LAB_00114205:
          lVar14 = DAT_00185c60 + *(long *)(DAT_00185c70 + 0x28);
        }
        FUN_00125300("0x%V",lVar14);
        if (bVar4) {
LAB_00114222:
          DAT_00185390 = lVar14;
        }
      }
      else {
        if (bVar4) {
          if (DAT_00185c70 != 0) goto LAB_00114205;
          FUN_00125300("0x%V",DAT_00185c60);
          goto LAB_00114222;
        }
        if (DAT_00185c50 == (char *)0x0) {
          lVar15 = bfd_link_hash_lookup(DAT_00185a28,*(undefined8 *)(lVar15 + 0x18),0,0,1);
          if (lVar15 == 0) {
            FUN_00125300("[unresolved]");
          }
          else {
            FUN_00125300("[0x%V]",*(long *)(*(long *)(lVar15 + 0x28) + 0x60) +
                                  *(long *)(lVar15 + 0x30) +
                                  *(long *)(*(long *)(*(long *)(lVar15 + 0x28) + 0x68) + 0x28));
          }
        }
        else {
          if (DAT_00185c70 != 0) goto LAB_00114205;
          FUN_00125300("0x%V",DAT_00185c60);
        }
      }
    }
    else {
      if ((*pcVar9 != '.') || (bVar4 = true, pcVar9[1] != '\0')) {
        bVar4 = false;
        DAT_00185c50 = pcVar9;
      }
      pcVar9 = *(char **)(lVar15 + 0x20);
      if (lVar14 == 0) {
        lVar14 = 0x184c90;
      }
      if (*(int *)(lVar15 + 0x10) != 5) goto LAB_001141b0;
      DAT_00185c78 = 0;
LAB_00113952:
      if (*(int *)(lVar15 + 0x10) == 5) {
        FUN_00125300("[!provide]");
      }
      else {
        FUN_00125300("*undef*   ");
      }
      FUN_00125300(&DAT_0013f03e);
    }
    DAT_00185c50 = (char *)0x0;
    FUN_00125300(&DAT_0013f036);
    uVar8 = *(undefined8 *)(param_1 + 0x10);
LAB_001139f8:
    FUN_00123490(uVar8);
    FUN_001242a0();
    return;
  case 2:
    lVar15 = *(long *)(param_1 + 0x10);
    if ((lVar15 != 0) &&
       ((*(long *)(param_1 + 0x20) == 0 || ((*(byte *)(*(long *)(param_1 + 0x20) + 0x46) & 2) == 0))
       )) {
      pcVar9 = "LOAD %s\n";
      goto LAB_00113cab;
    }
    break;
  case 3:
    uVar8 = *(undefined8 *)(param_1 + 0x10);
    uVar6 = dcgettext(0,"Address of section %s set to ",5);
    FUN_00125300(uVar6,uVar8);
    uVar8 = *(undefined8 *)(param_1 + 0x18);
    goto LAB_001139f8;
  case 4:
    FUN_00124280();
    if (*(undefined8 **)(param_1 + 0x40) != (undefined8 *)0x0) {
      FUN_00125300("EXCLUDE_FILE(%s",**(undefined8 **)(param_1 + 0x40));
      for (puVar2 = *(undefined8 **)(*(long *)(param_1 + 0x40) + 8); puVar2 != (undefined8 *)0x0;
          puVar2 = (undefined8 *)puVar2[1]) {
        FUN_00125300(&DAT_0013d727,*puVar2);
      }
      FUN_00125300(&DAT_0013ef27);
    }
    if (*(int *)(param_1 + 0x18) != 0) {
      FUN_00125300("SORT_BY_NAME(");
    }
    if (*(long *)(param_1 + 0x10) == 0) {
      FUN_00125300(&DAT_0013f157);
    }
    else {
      FUN_00125300(&DAT_0013efee);
    }
    if (*(int *)(param_1 + 0x18) != 0) {
      FUN_00125300(")");
    }
    FUN_00125300("(");
    for (plVar3 = *(long **)(param_1 + 0x20); plVar3 != (long *)0x0; plVar3 = (long *)*plVar3) {
      switch((int)plVar3[3]) {
      default:
        iVar11 = 0;
        break;
      case 1:
        iVar11 = 1;
        FUN_00125300("SORT_BY_NAME(");
        break;
      case 2:
        iVar11 = 1;
        FUN_00125300("SORT_BY_ALIGNMENT(");
        break;
      case 3:
        iVar11 = 2;
        FUN_00125300("SORT_BY_NAME(SORT_BY_ALIGNMENT(");
        break;
      case 4:
        iVar11 = 2;
        FUN_00125300("SORT_BY_ALIGNMENT(SORT_BY_NAME(");
        break;
      case 5:
        iVar11 = 1;
        FUN_00125300("SORT_NONE(");
        break;
      case 6:
        iVar11 = 1;
        FUN_00125300("SORT_BY_INIT_PRIORITY(");
      }
      if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) {
        FUN_00125300("EXCLUDE_FILE(%s",*(undefined8 *)plVar3[2]);
        for (puVar2 = *(undefined8 **)(plVar3[2] + 8); puVar2 != (undefined8 *)0x0;
            puVar2 = (undefined8 *)puVar2[1]) {
          FUN_00125300(&DAT_0013d727,*puVar2);
        }
        FUN_00125300(&DAT_0013ef27);
      }
      if (plVar3[1] == 0) {
        FUN_00125300(&DAT_0013f157);
      }
      else {
        FUN_00125300(&DAT_0013efee);
      }
      if ((iVar11 != 0) && (FUN_00125300(")"), iVar11 != 1)) {
        FUN_00125300(")");
      }
      if (*plVar3 == 0) break;
      FUN_00125300(&DAT_0013f045);
    }
    FUN_00125300(")");
    FUN_001242a0();
    for (puVar2 = *(undefined8 **)(param_1 + 0x30); puVar2 != (undefined8 *)0x0;
        puVar2 = (undefined8 *)*puVar2) {
      MASKED(puVar2,param_2);
    }
    break;
  case 5:
    FUN_001135c0(*(undefined8 *)(param_1 + 0x10),0);
    return;
  case 6:
    pcVar9 = " CREATE_OBJECT_SYMBOLS\n";
    goto LAB_00113bd7;
  case 7:
    fwrite(" FILL mask 0x",1,0xd,DAT_00185bd8);
    plVar3 = *(long **)(param_1 + 0x10);
    lVar15 = *plVar3;
    pbVar12 = (byte *)(plVar3 + 1);
    if (lVar15 != 0) {
      do {
        bVar1 = *pbVar12;
        pbVar12 = pbVar12 + 1;
        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);
      } while (pbVar12 != (byte *)((long)plVar3 + lVar15 + 8));
    }
    fputc(10,DAT_00185bd8);
    return;
  case 8:
    FUN_00113550();
    iVar11 = 0x10;
    do {
      FUN_00124280();
      iVar11 = iVar11 + -1;
    } while (iVar11 != 0);
    lVar15 = *(long *)(param_1 + 0x30);
    if (*(long *)(param_1 + 0x28) != 0) {
      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x28) + 0x28);
    }
    switch(*(undefined4 *)(param_1 + 0x10)) {
    case 0x11a:
      pcVar9 = "QUAD";
      uVar10 = 8;
      break;
    case 0x11b:
      pcVar9 = "SQUAD";
      uVar10 = 8;
      break;
    case 0x11c:
      pcVar9 = "LONG";
      uVar10 = 4;
      break;
    case 0x11d:
      pcVar9 = "SHORT";
      uVar10 = 2;
      break;
    case 0x11e:
      pcVar9 = "BYTE";
      uVar10 = 1;
      break;
    default:
                    /* WARNING: Subroutine does not return */
      FUN_001242c0("../../ld/ldlang.c",0x10c9,"print_data_statement");
    }
    uVar13 = (ulong)(uint)(1 << ((byte)DAT_00185308 & 0x1f));
    if (uVar13 < uVar10) {
      uVar13 = uVar10;
    }
    FUN_00125300("0x%V %W %s 0x%v",lVar15,uVar13 >> ((byte)DAT_00185308 & 0x3f),pcVar9,
                 *(undefined8 *)(param_1 + 0x20));
    if (*(int *)(*(long *)(param_1 + 0x18) + 0x10) != 7) {
      FUN_00124280();
      FUN_00123490(*(undefined8 *)(param_1 + 0x18));
    }
    FUN_001242a0();
    DAT_00185390 = (uVar13 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;
    break;
  case 9:
    FUN_00113550();
    iVar11 = 0x10;
    do {
      FUN_00124280();
      iVar11 = iVar11 + -1;
    } while (iVar11 != 0);
    lVar15 = *(long *)(param_1 + 0x48);
    if (*(long *)(param_1 + 0x40) != 0) {
      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x40) + 0x28);
    }
    uVar5 = bfd_get_reloc_size(*(undefined8 *)(param_1 + 0x18));
    FUN_00125300("0x%V %W RELOC %s ",lVar15,uVar5 >> ((byte)DAT_00185308 & 0x3f),
                 *(undefined8 *)(*(long *)(param_1 + 0x18) + 0x28));
    lVar14 = *(long *)(param_1 + 0x28);
    if (lVar14 == 0) {
      lVar14 = **(long **)(param_1 + 0x20);
    }
    FUN_00125300(&DAT_0013efd8,lVar14);
    FUN_00123490(*(undefined8 *)(param_1 + 0x30));
    FUN_001242a0();
    DAT_00185390 = (ulong)(uVar5 >> ((byte)DAT_00185308 & 0x3f)) + lVar15;
    break;
  case 10:
    lVar15 = *(long *)(param_1 + 0x10);
    pcVar9 = "TARGET(%s)\n";
LAB_00113cab:
    fprintf(DAT_00185bd8,pcVar9,lVar15);
    return;
  case 0xb:
    FUN_00125300("OUTPUT(%s",*(undefined8 *)(param_1 + 0x10));
    if (DAT_00185998 != 0) {
      FUN_00125300(&DAT_0013d727);
    }
    pcVar9 = ")\n";
LAB_00113bd7:
    FUN_00125300(pcVar9);
    return;
  case 0xc:
    FUN_00113550();
    iVar11 = 9;
    FUN_00125300(" *fill*");
    do {
      FUN_00124280();
      iVar11 = iVar11 + -1;
    } while (iVar11 != 0);
    lVar15 = *(long *)(param_1 + 0x10);
    if (*(long *)(param_1 + 0x20) != 0) {
      lVar15 = lVar15 + *(long *)(*(long *)(param_1 + 0x20) + 0x28);
    }
    FUN_00125300("0x%V %W ",lVar15,*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f));
    plVar3 = *(long **)(param_1 + 0x28);
    lVar14 = *plVar3;
    if (lVar14 != 0) {
      pbVar12 = (byte *)(plVar3 + 1);
      do {
        bVar1 = *pbVar12;
        pbVar12 = pbVar12 + 1;
        fprintf(DAT_00185bd8,"%02x",(ulong)bVar1);
      } while (pbVar12 != (byte *)((long)plVar3 + lVar14 + 8));
    }
    FUN_001242a0();
    DAT_00185390 = (*(ulong *)(param_1 + 0x18) >> ((byte)DAT_00185308 & 0x3f)) + lVar15;
    break;
  case 0xd:
    fwrite("START GROUP\n",1,0xc,DAT_00185bd8);
    for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0;
        puVar2 = (undefined8 *)*puVar2) {
      MASKED(puVar2,param_2);
    }
    fwrite("END GROUP\n",1,10,DAT_00185bd8);
    return;
  case 0xe:
    pcVar9 = "BEFORE";
    if (*(int *)(param_1 + 0x18) == 0) {
      pcVar9 = "AFTER";
    }
    FUN_00125300("INSERT %s %s\n",pcVar9,*(undefined8 *)(param_1 + 0x10));
    return;
  case 0xf:
    if (DAT_001859c0 != (undefined8 *)0x0) {
      if (DAT_001859d0 == 0) {
        FUN_00125300(" CONSTRUCTORS\n");
        puVar2 = DAT_001859c0;
      }
      else {
        FUN_00125300(" SORT (CONSTRUCTORS)\n");
        puVar2 = DAT_001859c0;
      }
      for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {
        MASKED(puVar2,param_2);
      }
    }
    break;
  default:
    pcVar9 = (char *)dcgettext(0,"Fail with %d\n",5);
    fprintf(DAT_00185bd8,pcVar9,(ulong)uVar5);
    FUN_001252c0("../../ld/ldlang.c",0x11bc);
    return;
  }
  return;
}

